import { AddressString, Attribute, ClaimTransaction, Input, InputOutput, InvocationTransaction, InvocationTransactionModel, IterOptions, NetworkType, Output, Param, RawAction, RelayTransactionResult, ScriptBuilderParam, SourceMaps, Transaction, TransactionBaseModel, TransactionReceipt, TransactionResult, Transfer, UpdateAccountNameOptions, UserAccount, UserAccountID, UserAccountProvider } from '@neo-one/client-common'; import BigNumber from 'bignumber.js'; import { Observable } from 'rxjs'; import { ExecuteInvokeMethodOptions, ExecuteInvokeScriptOptions, Provider as ProviderBase, UserAccountProviderBase } from './UserAccountProviderBase'; export interface KeyStore { readonly byteLimit?: number; readonly currentUserAccount$: Observable; readonly getCurrentUserAccount: () => UserAccount | undefined; readonly userAccounts$: Observable; readonly getUserAccounts: () => readonly UserAccount[]; readonly selectUserAccount: (id?: UserAccountID) => Promise; readonly deleteUserAccount?: (id: UserAccountID) => Promise; readonly updateUserAccountName?: (options: UpdateAccountNameOptions) => Promise; readonly sign: (options: { readonly account: UserAccountID; readonly message: string; }) => Promise; } export interface Provider extends ProviderBase { readonly relayTransaction: (network: NetworkType, transaction: TransactionBaseModel, networkFee?: BigNumber | undefined) => Promise; readonly relayStrippedTransaction: (network: NetworkType, verifcationTransaction: InvocationTransactionModel, relayTransaction: InvocationTransactionModel, networkFee?: BigNumber | undefined) => Promise; } export declare class LocalUserAccountProvider extends UserAccountProviderBase implements UserAccountProvider { readonly currentUserAccount$: Observable; readonly userAccounts$: Observable; readonly networks$: Observable; readonly keystore: TKeyStore; readonly deleteUserAccount?: (id: UserAccountID) => Promise; readonly updateUserAccountName?: (options: UpdateAccountNameOptions) => Promise; readonly iterActionsRaw?: (network: NetworkType, options?: IterOptions) => AsyncIterable; protected readonly executeInvokeMethod: (options: ExecuteInvokeMethodOptions) => Promise>; protected readonly executeInvokeScript: (options: ExecuteInvokeScriptOptions) => Promise>; constructor({ keystore, provider }: { readonly keystore: TKeyStore; readonly provider: TProvider; }); getCurrentUserAccount(): UserAccount | undefined; getUserAccounts(): readonly UserAccount[]; getNetworks(): readonly NetworkType[]; selectUserAccount(id?: UserAccountID): Promise; protected sendTransaction({ inputs, transaction: transactionUnsignedIn, from, onConfirm, networkFee, sourceMaps, }: { readonly inputs: readonly InputOutput[]; readonly transaction: TransactionBaseModel; readonly from: UserAccountID; readonly onConfirm: (options: { readonly transaction: Transaction; readonly receipt: TransactionReceipt; }) => Promise; readonly networkFee?: BigNumber; readonly sourceMaps?: SourceMaps; }): Promise>; protected sendStrippedTransaction({ inputs, transaction: transactionUnsignedIn, from, onConfirm, networkFee, sourceMaps, }: { readonly inputs: readonly InputOutput[]; readonly transaction: InvocationTransactionModel; readonly from: UserAccountID; readonly onConfirm: (options: { readonly transaction: Transaction; readonly receipt: TransactionReceipt; }) => Promise; readonly networkFee?: BigNumber; readonly sourceMaps?: SourceMaps; }): Promise>; protected executeInvokeClaim({ contract, inputs, outputs, unclaimed, amount, attributes, method, params, paramsZipped, from, sourceMaps, }: { readonly contract: AddressString; readonly inputs: readonly InputOutput[]; readonly outputs: readonly Output[]; readonly unclaimed: readonly Input[]; readonly amount: BigNumber; readonly attributes: readonly Attribute[]; readonly method: string; readonly params: ReadonlyArray; readonly paramsZipped: ReadonlyArray; readonly from: UserAccountID; readonly sourceMaps?: SourceMaps; }): Promise>; protected executeTransfer(transfers: readonly Transfer[], from: UserAccountID, attributes: readonly Attribute[], networkFee: BigNumber): Promise>; protected executeClaim(from: UserAccountID, attributes: readonly Attribute[], networkFee: BigNumber): Promise>; private executeInvoke; private getUserAccount; }