import { Chain } from "@wormhole-foundation/sdk-base"; import { Attestation, AttestationId, ProtocolName, TransactionId } from "@wormhole-foundation/sdk-definitions"; export type AttestationReceipt = { id: AttestationId; attestation?: Attestation; }; export declare enum TransferState { Failed = -1, Created = 0, SourceInitiated = 1, SourceFinalized = 2, Attested = 3, DestinationInitiated = 4, DestinationFinalized = 5 } interface BaseTransferReceipt { from: SC; to: DC; request: T; state: TransferState; } export interface CreatedTransferReceipt extends BaseTransferReceipt { state: TransferState.Created; } export interface SourceInitiatedTransferReceipt extends BaseTransferReceipt { state: TransferState.SourceInitiated; originTxs: TransactionId[]; } export interface SourceFinalizedTransferReceipt extends BaseTransferReceipt { state: TransferState.SourceFinalized; originTxs: TransactionId[]; attestation: AttestationReceipt; } export interface AttestedTransferReceipt extends BaseTransferReceipt { state: TransferState.Attested; originTxs: TransactionId[]; attestation: Required>; } export interface CompletedTransferReceipt extends BaseTransferReceipt { state: TransferState.DestinationInitiated | TransferState.DestinationFinalized; originTxs: TransactionId[]; attestation: AttestationReceipt; destinationTxs?: TransactionId[]; } export declare function isSourceInitiated(receipt: TransferReceipt): receipt is SourceInitiatedTransferReceipt; export declare function isSourceFinalized(receipt: TransferReceipt): receipt is SourceFinalizedTransferReceipt; export declare function isAttested(receipt: TransferReceipt): receipt is AttestedTransferReceipt; export declare function isCompleted(receipt: TransferReceipt): receipt is CompletedTransferReceipt; export type TransferReceipt = CreatedTransferReceipt | SourceInitiatedTransferReceipt | SourceFinalizedTransferReceipt | AttestedTransferReceipt | CompletedTransferReceipt; export {}; //# sourceMappingURL=receipt.d.ts.map