/// /// import { AccountInfo, Commitment, Connection, PublicKey } from "@solana/web3.js"; import { AccountStructByName, ConfirmationStorageType, ExternalCallMetaType, SubmissionInfoType } from "./interfaces"; import { DebridgeProgram } from "./idl/debridge_program_v31"; import { DebridgeSettingsProgram } from "./idl/debridge_settings_program_v31"; import { Decoder } from "./decoder"; import { UpdatableAccountInfo } from "./accounts"; export declare enum UpdateActions { ExternalCallStorage = "externalCallStorage", ExternalCallMeta = "externalCallMeta", ConfirmationStorage = "confirmationStorage", Submission = "submission", CorrectCalldata = "correctCalldata" } type ActionMap = { [UpdateActions.ExternalCallStorage]: Buffer; [UpdateActions.ExternalCallMeta]: ExternalCallMetaType; [UpdateActions.ConfirmationStorage]: ConfirmationStorageType; [UpdateActions.Submission]: SubmissionInfoType; [UpdateActions.CorrectCalldata]: null; }; type TypedCallback = (data: ActionMap[Action] | null) => unknown; export declare class SubmissionState { protected decoder: Decoder; protected connection: Connection; submissionId: Buffer; accounts: { confirmationStorage: PublicKey; submission: PublicKey; externalCall: WithExtCall extends true ? { externalCallMeta: PublicKey; externalCallStorage: PublicKey; } : null; commitment?: Commitment; }; private logFn?; private subManager; private nativeSubscriptions; confirmationStorage: UpdatableAccountInfo>; submission: UpdatableAccountInfo>; externalCallStorage: WithExtCall extends true ? UpdatableAccountInfo : null; externalCallMeta: WithExtCall extends true ? UpdatableAccountInfo> : null; private expectedCalldata?; onAction>(type: Action, callback: TypedCallback, repeat: "unlimited" | number): void; onActionOnce>(type: Action, callback: TypedCallback): void; onCorrectCalldataOnce(expected: Buffer, callback: () => unknown): void; private updateListener; constructor(decoder: Decoder, connection: Connection, submissionId: Buffer, accounts: { confirmationStorage: PublicKey; submission: PublicKey; externalCall: WithExtCall extends true ? { externalCallMeta: PublicKey; externalCallStorage: PublicKey; } : null; commitment?: Commitment; }, logFn?: ((...args: any[]) => unknown) | undefined, initialState?: { confirmationStorage: AccountInfo | null; submission: AccountInfo | null; externalCall: WithExtCall extends true ? { meta: AccountInfo | null; storage: AccountInfo | null; } : null; }, subscriptionCommitment?: Commitment); getInitialState(): Promise; unsubscribe(): Promise; } export {}; //# sourceMappingURL=submission.d.ts.map