import { LogLevel } from '@reservoir0x/relay-sdk';
import type { Abi, Address } from 'viem';
export { LogLevel };
export interface RelayExecutionInfo {
    status: RelayExecutionStatus;
    details: string;
    /** Incoming transaction hashes */
    inTxHashes: string[];
    /** Outgoing transaction hashes */
    txHashes: string[];
    /** The last timestamp the data was updated in milliseconds */
    time: number;
    originChainId: number;
    destinationChainId: number;
}
export interface RelayTokenPriceInfo {
    price: number;
}
export interface Logger {
    error(message: string, data?: object): void;
    info(message: string, data?: object): void;
}
export declare enum RelayExecutionStatus {
    DELAYED = "delayed",
    FAILURE = "failure",
    PENDING = "pending",
    REFUND = "refund",
    SUCCESS = "success",
    WAITING = "waiting",
    UNKNOWN = "unknown"
}
export interface ApiFunkitCheckoutActionParams {
    contractAbi: Abi;
    contractAddress: Address;
    functionName: string;
    functionArgs: unknown[];
    value?: bigint;
}
export declare enum CheckoutRefundState {
    INITIATED = "INITIATED",
    ERROR = "ERROR",
    REFUNDED = "REFUNDED",
    PROCEEDED = "PROCEEDED",
    WAITING_FOR_FULFILLMENT = "WAITING_FOR_FULFILLMENT",
    FULFILLED = "FULFILLED"
}
export declare enum CheckoutState {
    FROM_UNFUNDED = "FROM_UNFUNDED",
    FROM_FUNDED = "FROM_FUNDED",
    FROM_POOLED = "FROM_POOLED",
    TO_UNFUNDED = "TO_UNFUNDED",
    TO_FUNDED = "TO_FUNDED",
    TO_POOLED = "TO_POOLED",
    TO_READY = "TO_READY",
    PENDING_RECEIVAL = "PENDING_RECEIVAL",
    COMPLETED = "COMPLETED",
    CHECKOUT_ERROR = "CHECKOUT_ERROR",
    EXPIRED = "EXPIRED",
    CANCELLED = "CANCELLED"
}
export type CheckoutApiQuoteResponse = {
    quoteId: string;
    estTotalFromAmountBaseUnit: string;
    estSubtotalFromAmountBaseUnit: string;
    estFeesFromAmountBaseUnit: string;
    fromTokenAddress: Address;
    estFeesUsd: number;
    estSubtotalUsd: number;
    estTotalUsd: number;
    estCheckoutTimeMs: number;
    estMarketMakerGasUsd: number;
    lpFeePercentage: number;
    lpFeeUsd: number;
};
export type CheckoutQuoteResponse = CheckoutApiQuoteResponse & {
    estTotalFromAmount: string;
    estSubtotalFromAmount: string;
    estFeesFromAmount: string;
    metadata?: {
        [key: string]: unknown;
    };
};
//# sourceMappingURL=types.d.ts.map