/* Generated by ts-generator ver. 0.0.8 */
/* tslint:disable */

import { Contract, ContractTransaction, EventFilter, Signer } from "ethers";
import { Listener, Provider } from "ethers/providers";
import { Arrayish, BigNumber, BigNumberish, Interface } from "ethers/utils";
import {
  TransactionOverrides,
  TypedEventDescription,
  TypedFunctionDescription
} from ".";

interface ExampleInterface extends Interface {
  functions: {
    _n: TypedFunctionDescription<{ encode([]: []): string }>;

    test: TypedFunctionDescription<{ encode([]: []): string }>;
  };

  events: {};
}

export class Example extends Contract {
  connect(signerOrProvider: Signer | Provider | string): Example;
  attach(addressOrName: string): Example;
  deployed(): Promise<Example>;

  on(event: EventFilter | string, listener: Listener): Example;
  once(event: EventFilter | string, listener: Listener): Example;
  addListener(eventName: EventFilter | string, listener: Listener): Example;
  removeAllListeners(eventName: EventFilter | string): Example;
  removeListener(eventName: any, listener: Listener): Example;

  interface: ExampleInterface;

  functions: {
    _n(): Promise<BigNumber>;

    test(): Promise<BigNumber>;
  };

  _n(): Promise<BigNumber>;

  test(): Promise<BigNumber>;

  filters: {};

  estimate: {
    _n(): Promise<BigNumber>;

    test(): Promise<BigNumber>;
  };
}