import { Account, AddressString, Block, ClaimTransaction, Hash256String, InvocationTransaction, InvokeSendUnsafeReceiveTransactionOptions, IterOptions, NetworkType, Param, RawAction, RawCallReceipt, RawInvokeReceipt, ScriptBuilderParam, SmartContractDefinition, SourceMaps, Transaction, TransactionOptions, TransactionReceipt, TransactionResult, Transfer, UpdateAccountNameOptions, UserAccount, UserAccountID, UserAccountProvider, UserAccountProviders } from '@neo-one/client-common'; import BigNumber from 'bignumber.js'; import { BehaviorSubject, Observable } from 'rxjs'; import { AsyncParallelHook } from 'tapable'; import { SmartContract, SmartContractAny } from './types'; export interface ClientHooks { readonly beforeRelay: AsyncParallelHook; readonly relayError: AsyncParallelHook; readonly afterRelay: AsyncParallelHook; readonly beforeConfirmed: AsyncParallelHook; readonly confirmedError: AsyncParallelHook; readonly afterConfirmed: AsyncParallelHook; readonly afterCall: AsyncParallelHook; readonly callError: AsyncParallelHook; } export interface UserAccountFeatures { readonly delete: boolean; readonly updateName: boolean; } export interface BlockEntry { readonly block: Block; readonly network: NetworkType; } export interface AccountStateEntry { readonly currentUserAccount: UserAccount; readonly account: Account; } export declare class Client = any> { readonly hooks: ClientHooks; readonly currentUserAccount$: Observable; readonly userAccounts$: Observable; readonly currentNetwork$: Observable; readonly networks$: Observable; protected readonly providers$: BehaviorSubject; protected readonly selectedProvider$: BehaviorSubject; private readonly currentNetworkInternal$; private readonly reset$; readonly block$: Observable; readonly accountState$: Observable; constructor(providersIn: TUserAccountProviders); get providers(): TUserAccountProviders; getUserAccount(idIn: UserAccountID): UserAccount; selectUserAccount(idIn?: UserAccountID): Promise; selectNetwork(network: NetworkType): Promise; getSupportedFeatures(idIn: UserAccountID): Promise; deleteUserAccount(idIn: UserAccountID): Promise; updateUserAccountName(options: UpdateAccountNameOptions): Promise; getCurrentUserAccount(): UserAccount | undefined; getCurrentNetwork(): NetworkType; getUserAccounts(): readonly UserAccount[]; getNetworks(): readonly NetworkType[]; smartContract = SmartContractAny>(definition: SmartContractDefinition): T; transfer(amount: BigNumber, asset: Hash256String, to: AddressString, options?: TransactionOptions): Promise>; transfer(transfers: readonly Transfer[], options?: TransactionOptions): Promise; claim(optionsIn?: TransactionOptions): Promise>; getAccount(idIn: UserAccountID): Promise; __iterActionsRaw(network: NetworkType, optionsIn?: IterOptions): AsyncIterable; __invoke(contract: AddressString, method: string, params: ReadonlyArray, paramsZipped: ReadonlyArray, verify: boolean, optionsIn?: InvokeSendUnsafeReceiveTransactionOptions, sourceMaps?: SourceMaps): Promise>; __invokeSend(contract: AddressString, method: string, params: ReadonlyArray, paramsZipped: ReadonlyArray, transfer: Transfer, optionsIn?: TransactionOptions, sourceMaps?: SourceMaps): Promise>; __invokeCompleteSend(contract: AddressString, method: string, params: ReadonlyArray, paramsZipped: ReadonlyArray, hash: Hash256String, optionsIn?: TransactionOptions, sourceMaps?: SourceMaps): Promise>; __invokeRefundAssets(contract: AddressString, method: string, params: ReadonlyArray, paramsZipped: ReadonlyArray, hash: Hash256String, optionsIn?: TransactionOptions, sourceMaps?: SourceMaps): Promise>; __invokeClaim(contract: AddressString, method: string, params: ReadonlyArray, paramsZipped: ReadonlyArray, optionsIn?: TransactionOptions, sourceMaps?: SourceMaps): Promise>; __call(network: NetworkType, contract: AddressString, method: string, params: ReadonlyArray): Promise; reset(): void; protected getProvider(options?: TransactionOptions): TUserAccountProvider; protected getNetworkProvider(network: NetworkType): TUserAccountProvider; protected applyBeforeRelayHook(options: TransactionOptions): Promise; protected addTransactionHooks(res: Promise): Promise; protected getTransfersOptions(argsIn: readonly any[]): { readonly transfers: readonly Transfer[]; readonly options: TransactionOptions; }; }