import { Account, AddressString, Block, GetOptions, Hash256String, Input, InputOutput, InvocationTransactionModel, IterOptions, NetworkSettings, NetworkType, Output, RawAction, RawCallReceipt, RawInvocationData, RelayTransactionResult, ScriptBuilderParam, Transaction, TransactionBaseModel, TransactionReceipt } from '@neo-one/client-common'; import BigNumber from 'bignumber.js'; import { BehaviorSubject, Observable } from 'rxjs'; import { Provider } from '../user'; import { DataProviderBase } from './DataProviderBase'; export declare abstract class ProviderBase implements Provider { readonly networks$: Observable; protected readonly networksInternal$: BehaviorSubject; protected readonly mutableProviders: { [key: string]: TDataProvider | undefined; }; constructor(); getNetworks(): readonly NetworkType[]; addNetwork(options: { readonly network: NetworkType; readonly rpcURL: string; }): void; getUnclaimed(network: NetworkType, address: AddressString): Promise<{ readonly unclaimed: readonly Input[]; readonly amount: BigNumber; }>; getUnspentOutputs(network: NetworkType, address: AddressString): Promise; relayTransaction(network: NetworkType, transaction: TransactionBaseModel, networkFee?: BigNumber): Promise; relayStrippedTransaction(network: NetworkType, verificationTransaction: InvocationTransactionModel, relayTransaction: InvocationTransactionModel, networkFee?: BigNumber): Promise; getTransactionReceipt(network: NetworkType, hash: Hash256String, options?: GetOptions): Promise; getInvocationData(network: NetworkType, hash: Hash256String): Promise; testInvoke(network: NetworkType, transaction: InvocationTransactionModel): Promise; call(network: NetworkType, contract: AddressString, method: string, params: ReadonlyArray): Promise; getNetworkSettings(network: NetworkType): Promise; getBlockCount(network: NetworkType): Promise; getTransaction(network: NetworkType, hash: Hash256String): Promise; getOutput(network: NetworkType, input: Input): Promise; getClaimAmount(network: NetworkType, input: Input): Promise; read(network: NetworkType): TDataProvider; getAccount(network: NetworkType, address: AddressString): Promise; iterActionsRaw(network: NetworkType, options?: IterOptions): AsyncIterable; iterBlocks(network: NetworkType, options?: IterOptions): AsyncIterable; protected abstract createDataProvider(options: { readonly network: NetworkType; readonly rpcURL: string; }): TDataProvider; private getProvider; }