import { ethers } from "ethers";
import type { BN } from "@coral-xyz/anchor";
import { PublicKey } from "@solana/web3.js";
export interface SponsoredCCTPQuote {
    sourceDomain: number;
    destinationDomain: number;
    mintRecipient: string;
    amount: ethers.BigNumberish;
    burnToken: string;
    destinationCaller: string;
    maxFee: ethers.BigNumberish;
    minFinalityThreshold: number;
    nonce: string;
    deadline: ethers.BigNumberish;
    maxBpsToSponsor: ethers.BigNumberish;
    maxUserSlippageBps: ethers.BigNumberish;
    finalRecipient: string;
    finalToken: string;
    executionMode: number;
    actionData: ethers.BytesLike;
}
export interface SponsoredCCTPQuoteSVM {
    sourceDomain: number;
    destinationDomain: number;
    mintRecipient: PublicKey;
    amount: BN;
    burnToken: PublicKey;
    destinationCaller: PublicKey;
    maxFee: BN;
    minFinalityThreshold: number;
    nonce: number[];
    deadline: BN;
    maxBpsToSponsor: BN;
    maxUserSlippageBps: BN;
    finalRecipient: PublicKey;
    finalToken: PublicKey;
    executionMode: number;
    actionData: Buffer;
}
export interface HookData {
    nonce: string;
    deadline: ethers.BigNumber;
    maxBpsToSponsor: ethers.BigNumber;
    maxUserSlippageBps: ethers.BigNumber;
    finalRecipient: string;
    finalToken: string;
    executionMode: number;
    actionData: string;
}
