/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */

import BN from "bn.js";

export type TxID = { transactionId: string };

export interface TokenFactory {
  createToken: {
    ({
      _name,
      _symbol,
      _decimals,
      _info,
    }: {
      _name: string;
      _symbol: string;
      _decimals: number | BN | string;
      _info: string;
    }): Promise<TxID>;
  };

  accessListIndex(): Promise<string[]>;

  disableAddress: {
    ({ _address }: { _address: string }): Promise<TxID>;
  };

  renounceOwnership: {
    (): Promise<TxID>;
  };

  addAccessList: {
    ({
      _accessList,
      _identifier,
      _blockNumber,
      _owner,
    }: {
      _accessList: string;
      _identifier: string;
      _blockNumber: number | BN | string;
      _owner: string;
    }): Promise<TxID>;
  };

  owner(): Promise<string>;

  isOwner(): Promise<boolean>;

  createAccessList: {
    ({ _identifier }: { _identifier: string }): Promise<TxID>;
  };

  enableAddress: {
    ({ _address }: { _address: string }): Promise<TxID>;
  };

  tokenIndex(): Promise<string[]>;

  addToken: {
    ({
      _name,
      _symbol,
      _decimals,
      _info,
      _blockNumber,
      _token,
      _owner,
    }: {
      _name: string;
      _symbol: string;
      _decimals: number | BN | string;
      _info: string;
      _blockNumber: number | BN | string;
      _token: string;
      _owner: string;
    }): Promise<TxID>;
  };

  transferOwnership: {
    ({ newOwner }: { newOwner: string }): Promise<TxID>;
  };

  isAuthorized({ _address }: { _address: string }): Promise<boolean>;
}
