import { AddressOrPair, SubmittableExtrinsic } from '@polkadot/api/submittable/types'; import { Balance } from '@polkadot/types/interfaces'; import BN from 'bn.js'; import React from 'react'; import { Subject } from 'rxjs'; declare type Extrinsic = SubmittableExtrinsic<'rxjs'>; export interface ExtrinsicDetails { allFees: BN; allTotal: BN; amount: Balance; methodCall: string; recipientAddress?: string; senderPair: AddressOrPair; } /** * An item from the TxQueue */ export interface PendingExtrinsic { details: ExtrinsicDetails; extrinsic: Extrinsic; id: number; status: { isAskingForConfirm: boolean; isFinalized: boolean; isDropped: boolean; isPending: boolean; isUsurped: boolean; }; unsubscribe: () => void; } interface State { txCounter: number; txQueue: PendingExtrinsic[]; } export interface EnqueueParams extends ExtrinsicDetails { extrinsic: Extrinsic; } interface Props { children: React.ReactNode; } export declare const TxQueueContext: React.Context<{ enqueue: (extrinsic: Extrinsic, details: ExtrinsicDetails) => number; signAndSubmit: (extrinsicId: number) => void; state: State; clear: () => void; cancelObservable: Subject<{ msg: string; }>; statusObservable: Subject<{ msg: string; }>; successObservable: Subject; errorObservable: Subject<{ error: string; }>; }>; export declare function TxQueueContextProvider(props: Props): React.ReactElement; export {}; //# sourceMappingURL=TxQueueContext.d.ts.map