import { Claim } from "./claim";
import { Context } from "./context";
import { SendAutoParams } from "./structs";
import { SentEvent } from "./typechain/contracts/interfaces/IDeBridgeGate";
export declare enum SubmissionStatus {
    WAITING_CONFIRMATION = 0,
    WAITING_CLAIM = 1,
    CLAIMED = 2
}
export type TSubmission = Readonly<Omit<SentEvent.OutputObject, "amount" | "nonce" | "chainIdTo" | "autoParams"> & {
    amount: string;
    nonce: string;
    chainIdTo: string;
    autoParams?: SendAutoParams;
    originChainId: number;
    sentEvent: SentEvent.Log;
}>;
export interface Submission extends TSubmission {
}
export declare class Submission {
    private ctx;
    static findAll(txHash: string, ctx: Context): Promise<Submission[]>;
    static find(txHash: string, submissionId: string, ctx: Context): Promise<Submission | undefined>;
    constructor(args: TSubmission, ctx: Context);
    hasRequiredBlockConfirmations(overrideBlockConfirmations?: number): Promise<boolean>;
    private _getRequiredConfirmations;
    toEVMClaim(destinationCtx: Context): Promise<Claim>;
}
//# sourceMappingURL=submission.d.ts.map