export interface FeeEstimates {
    low: number;
    medium: number;
    high: number;
}
export interface DepositCreateParams {
    btcAmount: number;
    stxReceiver: string;
    btcSender: string;
}
export interface DepositUpdateParams {
    id: string;
    data: {
        btcTxId?: string;
        status?: string;
    };
}
export type FeePriority = "low" | "medium" | "high";
export interface TransactionPrepareParams {
    amount: string;
    userAddress: string;
    btcAddress: string;
    feePriority: FeePriority;
    walletProvider: "leather" | "xverse" | null;
}
export interface PreparedTransactionData {
    utxos: any[];
    opReturnData: string;
    depositAddress: string;
    fee: number;
    changeAmount: number;
    amountInSatoshis: number;
    feeRate: number;
    inscriptionCount: number;
    inputCount: number;
    outputCount: number;
}
export interface TransactionDetails {
    inputCount: number;
    outputCount: number;
    totalValueIn: number;
    primaryOutput: number;
    changeOutput: number;
    fee: number;
    feeRate: number;
}
export interface ExecuteTransactionResponse {
    txPsbtHex: string;
    txPsbtBase64: string;
    utxos: any[];
    addressType: "segwit" | "p2sh" | "legacy";
    needsFrontendInputHandling: boolean;
    transactionDetails: TransactionDetails;
}
export type DepositStatus = "initiated" | "broadcast" | "processing" | "confirmed" | "refund-requested" | "canceled";
export interface Deposit {
    id: string;
    btcAmount: number;
    sbtcAmount: number | null;
    stxReceiver: string;
    btcSender: string;
    btcTxId: string | null;
    btcTxBlockHeight: number | null;
    stxTxId: string | null;
    stxTxBlockHeight: number | null;
    status: DepositStatus;
    createdAt: number | null;
    updatedAt: number | null;
}
export declare enum TransactionPriority {
    Low = "low",
    Medium = "medium",
    High = "high"
}
export {};
