import { Event , Log , RawAction , SmartContractDefinition , SmartContractIterOptions } from '@neo-one/client-common' ; import { Client } from './Client' ; /**
 * An object representing a smart contract defined by the `definition` property, in particular, the `ABI` of the definition.
 */ export interface SmartContract < TClient extends Client = Client , TEvent extends Event < string , any > = Event > { /**
     * The `SmartContractDefinition` that generated this `SmartContract` object.
     */ readonly definition : SmartContractDefinition ; /**
     * The underlying `Client` used by this `SmartContract`.
     */ readonly client : TClient ; returns readonly iterEvents : ( options ? : SmartContractIterOptions ) => AsyncIterable < TEvent > ; returns readonly iterLogs : ( options ? : SmartContractIterOptions ) => AsyncIterable < Log > ; returns readonly iterActions : ( options ? : SmartContractIterOptions ) => AsyncIterable < TEvent | Log > ; returns readonly convertAction : ( action : RawAction ) => TEvent | Log | undefined ; } export interface SmartContractAny extends SmartContract { readonly [ key ] : any ; }