import { Chain } from "@wormhole-foundation/sdk-base"; import { Attestation, AttestationId, ProtocolName, TokenId, TransactionId } from "@wormhole-foundation/sdk-definitions"; export declare enum TransferState { Failed = -1, Created = 0, SourceInitiated = 1, SourceFinalized = 2, Attested = 3, DestinationInitiated = 4, DestinationFinalized = 5 } export type AttestationReceipt = { id: AttestationId; attestation?: Attestation; }; interface BaseTransferReceipt { from: SC; to: DC; 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: AT; } 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: AT; destinationTxs?: TransactionId[]; } export interface FailedTransferReceipt extends BaseTransferReceipt { state: TransferState.Failed; originTxs: TransactionId[]; destinationTxs?: TransactionId[]; attestation?: AT; error: string; } 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 declare function isFailed(receipt: TransferReceipt): receipt is FailedTransferReceipt; export type TransferReceipt = FailedTransferReceipt | CreatedTransferReceipt | SourceInitiatedTransferReceipt | SourceFinalizedTransferReceipt | AttestedTransferReceipt | CompletedTransferReceipt; export interface TransferQuote { sourceToken: { token: TokenId; amount: bigint; }; destinationToken: { token: TokenId; amount: bigint; }; relayFee?: { token: TokenId; amount: bigint; }; destinationNativeGas?: bigint; } export {}; //# sourceMappingURL=types.d.ts.map