/// import { Encode } from '@0xcert/ethereum-utils'; import { ProviderBase, ProviderEvent } from '@0xcert/scaffold'; import { EventEmitter } from 'events'; import { GatewayConfig, RpcResponse, SendOptions, SignMethod } from './types'; export interface GenericProviderOptions { accountId?: string; client?: any; signMethod?: SignMethod; unsafeRecipientIds?: string[]; assetLedgerSource?: string; valueLedgerSource?: string; requiredConfirmations?: number; gatewayConfig?: GatewayConfig; mutationTimeout?: number; encoder?: Encode; gasPriceMultiplier?: number; retryGasPriceMultiplier?: number; sandbox?: Boolean; verbose?: Boolean; } export declare class GenericProvider extends EventEmitter implements ProviderBase { signMethod: SignMethod; assetLedgerSource: string; valueLedgerSource: string; requiredConfirmations: number; mutationTimeout: number; encoder: Encode; gasPriceMultiplier?: number; retryGasPriceMultiplier?: number; sandbox: Boolean; verbose: Boolean; protected _gatewayConfig: GatewayConfig; protected _accountId: string; protected _unsafeRecipientIds: string[]; protected _client: any; protected _id: number; constructor(options: GenericProviderOptions); log(message: any): void; get accountId(): string; set accountId(id: string); get unsafeRecipientIds(): string[]; set unsafeRecipientIds(ids: string[]); get gatewayConfig(): GatewayConfig; set gatewayConfig(config: GatewayConfig); emit(event: ProviderEvent.ACCOUNT_CHANGE, newAccountId: string, oldAccountId: string): any; emit(event: ProviderEvent.NETWORK_CHANGE, newNetworkVersion: string, oldNetworkVersion: string): any; on(event: ProviderEvent.ACCOUNT_CHANGE, handler: (newAccountId: string, oldAccountId: string) => any): any; on(event: ProviderEvent.NETWORK_CHANGE, handler: (newNetworkVersion: string, oldNetworkVersion: string) => any): any; once(event: ProviderEvent.ACCOUNT_CHANGE, handler: (newAccountId: string, oldAccountId: string) => any): any; once(event: ProviderEvent.NETWORK_CHANGE, handler: (newNetworkVersion: string, oldNetworkVersion: string) => any): any; off(event: ProviderEvent.ACCOUNT_CHANGE, handler: (newAccountId: string, oldAccountId: string) => any): any; off(event: ProviderEvent.NETWORK_CHANGE, handler: (newNetworkVersion: string, oldNetworkVersion: string) => any): any; off(event: ProviderEvent): any; sign(message: string): Promise; getAvailableAccounts(): Promise; getNetworkVersion(): Promise; isCurrentAccount(accountId: string): boolean; isUnsafeRecipientId(ledgerId: string): boolean; post(options: SendOptions): Promise; protected request(options: SendOptions): Promise; protected getNextId(): number; }