import type { InferEquals } from "@metamask/keyring-utils";
import type { Infer } from "@metamask/superstruct";
import type { Paginated } from "./pagination.cjs";
/**
 * Fee types.
 */
export declare enum FeeType {
    /**
     * Base fee. It is the minimum fee required to include a transaction in the
     * blockchain.
     *
     * For non-confirmed transactions, it must be the maximum base fee. For
     * confirmed transactions, it must be the actual base fee paid.
     */
    Base = "base",
    /**
     * Priority fee. It is an optional fee used to prioritize the transaction.
     *
     * For non-confirmed transactions, it must be the maximum priority fee. For
     * confirmed transactions, it must be the actual priority fee paid.
     */
    Priority = "priority"
}
/**
 * Transaction statuses.
 */
export declare enum TransactionStatus {
    /**
     * The transaction has been submitted but is not yet in the
     * blockchain. For example, it can be in the mempool.
     */
    Submitted = "submitted",
    /**
     * The transaction is in the blockchain but has not been
     * confirmed yet.
     */
    Unconfirmed = "unconfirmed",
    /**
     * The transaction has been confirmed.
     */
    Confirmed = "confirmed",
    /**
     * The transaction has failed. For example, it has been reverted.
     */
    Failed = "failed"
}
/**
 * Transaction types.
 */
export declare enum TransactionType {
    /**
     * The transaction was originated by the account. If the transaction
     * has a change output that goes back to the same account, it must be tagged
     * as a send transaction.
     */
    Send = "send",
    /**
     * The transaction was received by the account, but originated by
     * another account.
     */
    Receive = "receive",
    /**
     * The transaction is a swap. It decreases the balance of one asset and
     * increases the balance of another asset in a single transaction.
     *
     * A swap transaction must be originated by the account.
     */
    Swap = "swap",
    /**
     * Represents an outgoing bridge transaction, transferring assets from
     * the account to another blockchain.
     */
    BridgeSend = "bridge:send",
    /**
     * Represents an incoming bridge transaction, transferring assets from
     * another blockchain to the account.
     */
    BridgeReceive = "bridge:receive",
    /**
     * Represents a stake deposit transaction.
     */
    StakeDeposit = "stake:deposit",
    /**
     * Represents a stake withdrawal transaction.
     */
    StakeWithdraw = "stake:withdraw",
    /**
     * Represents a token approval transaction.
     */
    TokenApprove = "token:approve",
    /**
     * The transaction type is unknown. It's not possible to determine the
     * transaction type based on the information available.
     */
    Unknown = "unknown"
}
/**
 * Security alert response values from the Security Alert API.
 */
export declare enum SecurityAlertResponse {
    /**
     * The transaction is considered safe with no detected security issues.
     */
    Benign = "Benign",
    /**
     * The transaction has potential security concerns that warrant user attention.
     */
    Warning = "Warning",
    /**
     * The transaction has been identified as malicious and should be avoided.
     */
    Malicious = "Malicious"
}
/**
 * This struct represents additional transaction details.
 *
 * @example
 * ```ts
 * {
 *   origin: 'https://dapp.example.com',
 *   securityAlertResponse: 'Benign',
 * }
 * ```
 *
 * @example
 * ```ts
 * {
 *   origin: 'metamask',
 *   securityAlertResponse: 'Warning',
 * }
 * ```
 */
export declare const TransactionDetailsStruct: import("@metamask/superstruct").Struct<{
    origin?: string;
    securityAlertResponse?: "Benign" | "Warning" | "Malicious";
}, {
    /**
     * Origin of the original transaction request.
     *
     * This can be either 'metamask' for internally initiated transactions, or a URL
     * (e.g., 'https://dapp.example.com') for dapp-initiated transactions.
     */
    origin: import("@metamask/superstruct").Struct<string | import("@metamask/keyring-utils").ExactOptionalTag, null>;
    /**
     * Response from the Security Alert API indicating the security assessment of the
     * transaction.
     */
    securityAlertResponse: import("@metamask/superstruct").Struct<import("@metamask/keyring-utils").ExactOptionalTag | "Benign" | "Warning" | "Malicious", {
        Benign: "Benign";
        Warning: "Warning";
        Malicious: "Malicious";
    }>;
}>;
/**
 * This struct represents a transaction event.
 */
export declare const TransactionEventStruct: import("@metamask/superstruct").Struct<{
    status: "submitted" | "unconfirmed" | "confirmed" | "failed";
    timestamp: number | null;
}, {
    /**
     * New status of the transaction.
     */
    status: import("@metamask/superstruct").Struct<"submitted" | "unconfirmed" | "confirmed" | "failed", {
        submitted: "submitted";
        unconfirmed: "unconfirmed";
        confirmed: "confirmed";
        failed: "failed";
    }>;
    /**
     * UNIX timestamp of when the event occurred.
     */
    timestamp: import("@metamask/superstruct").Struct<number | null, null>;
}>;
/**
 * This struct represents a blockchain transaction.
 *
 * @example
 * ```ts
 * const tx = {
 *   id: 'f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6',
 *   chain: 'bip122:000000000019d6689c085ae165831e93',
 *   account: 'b9beb861-9761-4b97-89ce-d992be5f34da',
 *   status: 'confirmed',
 *   timestamp: 1716367781,
 *   type: 'send',
 *   from: [
 *     {
 *       address: 'bc1qrp0yzgkf8rawkuvdlhnjfj2fnjwm0m8727kgah',
 *       asset: {
 *         fungible: true,
 *         type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
 *         unit: 'BTC',
 *         amount: '0.1',
 *       },
 *     },
 *   ],
 *   to: [
 *     {
 *       address: 'bc1qrp0yzgkf8rawkuvdlhnjfj2fnjwm0m8727kgah',
 *       asset: {
 *         fungible: true,
 *         type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
 *         unit: 'BTC',
 *         amount: '0.1',
 *       },
 *     },
 *     {
 *       address: 'bc1qwl8399fz829uqvqly9tcatgrgtwp3udnhxfq4k',
 *       asset: {
 *         fungible: true,
 *         type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
 *         unit: 'BTC',
 *         amount: '0.1',
 *       },
 *     },
 *   ],
 *   fees: [
 *     {
 *       type: 'priority',
 *       asset: {
 *         fungible: true,
 *         type: 'bip122:000000000019d6689c085ae165831e93/slip44:0',
 *         unit: 'BTC',
 *         amount: '0.1',
 *       },
 *     },
 *   ],
 * };
 * ```
 */
export declare const TransactionStruct: import("@metamask/superstruct").Struct<{
    type: "unknown" | "send" | "receive" | "swap" | "bridge:send" | "bridge:receive" | "stake:deposit" | "stake:withdraw" | "token:approve";
    id: string;
    from: {
        address: string;
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null;
    }[];
    events: {
        status: "submitted" | "unconfirmed" | "confirmed" | "failed";
        timestamp: number | null;
    }[];
    chain: `${string}:${string}`;
    status: "submitted" | "unconfirmed" | "confirmed" | "failed";
    account: string;
    timestamp: number | null;
    to: {
        address: string;
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null;
    }[];
    fees: {
        type: "base" | "priority";
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        };
    }[];
    details?: {
        origin?: string;
        securityAlertResponse?: "Benign" | "Warning" | "Malicious";
    };
}, {
    /**
     * Chain-specific transaction ID.
     */
    id: import("@metamask/superstruct").Struct<string, null>;
    /**
     * Chain ID (CAIP-2).
     */
    chain: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
    /**
     * Account ID (UUIDv4).
     */
    account: import("@metamask/superstruct").Struct<string, null>;
    /**
     * Transaction status {@see TransactionStatus}.
     */
    status: import("@metamask/superstruct").Struct<"submitted" | "unconfirmed" | "confirmed" | "failed", {
        submitted: "submitted";
        unconfirmed: "unconfirmed";
        confirmed: "confirmed";
        failed: "failed";
    }>;
    /**
     * UNIX timestamp of when the transaction was added to the blockchain. The
     * timestamp can be null if the transaction has not been included in the
     * blockchain yet.
     */
    timestamp: import("@metamask/superstruct").Struct<number | null, null>;
    /**
     * Transaction type {@see TransactionType}. This will be used by MetaMask to enrich the transaction
     * details on the UI.
     */
    type: import("@metamask/superstruct").Struct<"unknown" | "send" | "receive" | "swap" | "bridge:send" | "bridge:receive" | "stake:deposit" | "stake:withdraw" | "token:approve", {
        unknown: "unknown";
        send: "send";
        receive: "receive";
        swap: "swap";
        "bridge:send": "bridge:send";
        "bridge:receive": "bridge:receive";
        "stake:deposit": "stake:deposit";
        "stake:withdraw": "stake:withdraw";
        "token:approve": "token:approve";
    }>;
    /**
     * Transaction sender addresses and amounts.
     */
    from: import("@metamask/superstruct").Struct<{
        address: string;
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null;
    }[], import("@metamask/superstruct").Struct<{
        address: string;
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null;
    }, {
        /**
         * Participant address.
         */
        address: import("@metamask/superstruct").Struct<string, null>;
        /**
         * Asset being transferred.
         */
        asset: import("@metamask/superstruct").Struct<{
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null, null>;
    }>>;
    /**
     * Transaction receiver addresses and amounts.
     */
    to: import("@metamask/superstruct").Struct<{
        address: string;
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null;
    }[], import("@metamask/superstruct").Struct<{
        address: string;
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null;
    }, {
        /**
         * Participant address.
         */
        address: import("@metamask/superstruct").Struct<string, null>;
        /**
         * Asset being transferred.
         */
        asset: import("@metamask/superstruct").Struct<{
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        } | null, null>;
    }>>;
    /**
     * Total transaction fee.
     */
    fees: import("@metamask/superstruct").Struct<{
        type: "base" | "priority";
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        };
    }[], import("@metamask/superstruct").Struct<{
        type: "base" | "priority";
        asset: {
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        };
    }, {
        /**
         * Fee type {@see FeeType}.
         */
        type: import("@metamask/superstruct").Struct<"base" | "priority", {
            base: "base";
            priority: "priority";
        }>;
        /**
         * Asset used to pay for the fee.
         */
        asset: import("@metamask/superstruct").Struct<{
            unit: string;
            type: `${string}:${string}/${string}:${string}`;
            amount: string;
            fungible: true;
        } | {
            id: `${string}:${string}/${string}:${string}/${string}`;
            fungible: false;
        }, null>;
    }>>;
    /**
     * List of events related to the transaction {@see TransactionEventStruct}.
     *
     * The events are tracked in a best-effort basis and may not be available for
     * all transactions.
     */
    events: import("@metamask/superstruct").Struct<{
        status: "submitted" | "unconfirmed" | "confirmed" | "failed";
        timestamp: number | null;
    }[], import("@metamask/superstruct").Struct<{
        status: "submitted" | "unconfirmed" | "confirmed" | "failed";
        timestamp: number | null;
    }, {
        /**
         * New status of the transaction.
         */
        status: import("@metamask/superstruct").Struct<"submitted" | "unconfirmed" | "confirmed" | "failed", {
            submitted: "submitted";
            unconfirmed: "unconfirmed";
            confirmed: "confirmed";
            failed: "failed";
        }>;
        /**
         * UNIX timestamp of when the event occurred.
         */
        timestamp: import("@metamask/superstruct").Struct<number | null, null>;
    }>>;
    /**
     * Additional transaction details {@see TransactionDetailsStruct}.
     *
     * Contains contextual information about the transaction such as its origin and
     * security assessment. This field is optional and may not be present for all
     * transactions.
     */
    details: import("@metamask/superstruct").Struct<import("@metamask/keyring-utils").ExactOptionalTag | {
        origin?: string;
        securityAlertResponse?: "Benign" | "Warning" | "Malicious";
    }, {
        /**
         * Origin of the original transaction request.
         *
         * This can be either 'metamask' for internally initiated transactions, or a URL
         * (e.g., 'https://dapp.example.com') for dapp-initiated transactions.
         */
        origin: import("@metamask/superstruct").Struct<string | import("@metamask/keyring-utils").ExactOptionalTag, null>;
        /**
         * Response from the Security Alert API indicating the security assessment of the
         * transaction.
         */
        securityAlertResponse: import("@metamask/superstruct").Struct<import("@metamask/keyring-utils").ExactOptionalTag | "Benign" | "Warning" | "Malicious", {
            Benign: "Benign";
            Warning: "Warning";
            Malicious: "Malicious";
        }>;
    }>;
}>;
/**
 * Transaction details object.
 *
 * See {@link TransactionDetailsStruct}.
 */
export type TransactionDetails = Infer<typeof TransactionDetailsStruct>;
/**
 * Transaction object.
 *
 * See {@link TransactionStruct}.
 */
export type Transaction = Infer<typeof TransactionStruct>;
/**
 * This struct represents a page of transactions.
 *
 * @example
 * ```ts
 * {
 *   data: [
 *     {
 *       // Transaction object
 *     }
 *   ],
 *   next: 'c3y1Q6QtqtstbxKX+oqVdEW6',
 * }
 * ```
 *
 * @example
 * ```ts
 * {
 *   data: [
 *     {
 *       // Transaction object
 *     }
 *   ],
 *   next: null, // No more results
 * }**
 * ```
 */
export declare const TransactionsPageStruct: import("@metamask/superstruct").Struct<{
    data: {
        type: "unknown" | "send" | "receive" | "swap" | "bridge:send" | "bridge:receive" | "stake:deposit" | "stake:withdraw" | "token:approve";
        id: string;
        from: {
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[];
        events: {
            status: "submitted" | "unconfirmed" | "confirmed" | "failed";
            timestamp: number | null;
        }[];
        chain: `${string}:${string}`;
        status: "submitted" | "unconfirmed" | "confirmed" | "failed";
        account: string;
        timestamp: number | null;
        to: {
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[];
        fees: {
            type: "base" | "priority";
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            };
        }[];
        details?: {
            origin?: string;
            securityAlertResponse?: "Benign" | "Warning" | "Malicious";
        };
    }[];
    next: string | null;
}, {
    /**
     * List of transactions.
     */
    data: import("@metamask/superstruct").Struct<{
        type: "unknown" | "send" | "receive" | "swap" | "bridge:send" | "bridge:receive" | "stake:deposit" | "stake:withdraw" | "token:approve";
        id: string;
        from: {
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[];
        events: {
            status: "submitted" | "unconfirmed" | "confirmed" | "failed";
            timestamp: number | null;
        }[];
        chain: `${string}:${string}`;
        status: "submitted" | "unconfirmed" | "confirmed" | "failed";
        account: string;
        timestamp: number | null;
        to: {
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[];
        fees: {
            type: "base" | "priority";
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            };
        }[];
        details?: {
            origin?: string;
            securityAlertResponse?: "Benign" | "Warning" | "Malicious";
        };
    }[], import("@metamask/superstruct").Struct<{
        type: "unknown" | "send" | "receive" | "swap" | "bridge:send" | "bridge:receive" | "stake:deposit" | "stake:withdraw" | "token:approve";
        id: string;
        from: {
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[];
        events: {
            status: "submitted" | "unconfirmed" | "confirmed" | "failed";
            timestamp: number | null;
        }[];
        chain: `${string}:${string}`;
        status: "submitted" | "unconfirmed" | "confirmed" | "failed";
        account: string;
        timestamp: number | null;
        to: {
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[];
        fees: {
            type: "base" | "priority";
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            };
        }[];
        details?: {
            origin?: string;
            securityAlertResponse?: "Benign" | "Warning" | "Malicious";
        };
    }, {
        /**
         * Chain-specific transaction ID.
         */
        id: import("@metamask/superstruct").Struct<string, null>;
        /**
         * Chain ID (CAIP-2).
         */
        chain: import("@metamask/superstruct").Struct<`${string}:${string}`, null>;
        /**
         * Account ID (UUIDv4).
         */
        account: import("@metamask/superstruct").Struct<string, null>;
        /**
         * Transaction status {@see TransactionStatus}.
         */
        status: import("@metamask/superstruct").Struct<"submitted" | "unconfirmed" | "confirmed" | "failed", {
            submitted: "submitted";
            unconfirmed: "unconfirmed";
            confirmed: "confirmed";
            failed: "failed";
        }>;
        /**
         * UNIX timestamp of when the transaction was added to the blockchain. The
         * timestamp can be null if the transaction has not been included in the
         * blockchain yet.
         */
        timestamp: import("@metamask/superstruct").Struct<number | null, null>;
        /**
         * Transaction type {@see TransactionType}. This will be used by MetaMask to enrich the transaction
         * details on the UI.
         */
        type: import("@metamask/superstruct").Struct<"unknown" | "send" | "receive" | "swap" | "bridge:send" | "bridge:receive" | "stake:deposit" | "stake:withdraw" | "token:approve", {
            unknown: "unknown";
            send: "send";
            receive: "receive";
            swap: "swap";
            "bridge:send": "bridge:send";
            "bridge:receive": "bridge:receive";
            "stake:deposit": "stake:deposit";
            "stake:withdraw": "stake:withdraw";
            "token:approve": "token:approve";
        }>;
        /**
         * Transaction sender addresses and amounts.
         */
        from: import("@metamask/superstruct").Struct<{
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[], import("@metamask/superstruct").Struct<{
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }, {
            /**
             * Participant address.
             */
            address: import("@metamask/superstruct").Struct<string, null>;
            /**
             * Asset being transferred.
             */
            asset: import("@metamask/superstruct").Struct<{
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null, null>;
        }>>;
        /**
         * Transaction receiver addresses and amounts.
         */
        to: import("@metamask/superstruct").Struct<{
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }[], import("@metamask/superstruct").Struct<{
            address: string;
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null;
        }, {
            /**
             * Participant address.
             */
            address: import("@metamask/superstruct").Struct<string, null>;
            /**
             * Asset being transferred.
             */
            asset: import("@metamask/superstruct").Struct<{
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            } | null, null>;
        }>>;
        /**
         * Total transaction fee.
         */
        fees: import("@metamask/superstruct").Struct<{
            type: "base" | "priority";
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            };
        }[], import("@metamask/superstruct").Struct<{
            type: "base" | "priority";
            asset: {
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            };
        }, {
            /**
             * Fee type {@see FeeType}.
             */
            type: import("@metamask/superstruct").Struct<"base" | "priority", {
                base: "base";
                priority: "priority";
            }>;
            /**
             * Asset used to pay for the fee.
             */
            asset: import("@metamask/superstruct").Struct<{
                unit: string;
                type: `${string}:${string}/${string}:${string}`;
                amount: string;
                fungible: true;
            } | {
                id: `${string}:${string}/${string}:${string}/${string}`;
                fungible: false;
            }, null>;
        }>>;
        /**
         * List of events related to the transaction {@see TransactionEventStruct}.
         *
         * The events are tracked in a best-effort basis and may not be available for
         * all transactions.
         */
        events: import("@metamask/superstruct").Struct<{
            status: "submitted" | "unconfirmed" | "confirmed" | "failed";
            timestamp: number | null;
        }[], import("@metamask/superstruct").Struct<{
            status: "submitted" | "unconfirmed" | "confirmed" | "failed";
            timestamp: number | null;
        }, {
            /**
             * New status of the transaction.
             */
            status: import("@metamask/superstruct").Struct<"submitted" | "unconfirmed" | "confirmed" | "failed", {
                submitted: "submitted";
                unconfirmed: "unconfirmed";
                confirmed: "confirmed";
                failed: "failed";
            }>;
            /**
             * UNIX timestamp of when the event occurred.
             */
            timestamp: import("@metamask/superstruct").Struct<number | null, null>;
        }>>;
        /**
         * Additional transaction details {@see TransactionDetailsStruct}.
         *
         * Contains contextual information about the transaction such as its origin and
         * security assessment. This field is optional and may not be present for all
         * transactions.
         */
        details: import("@metamask/superstruct").Struct<import("@metamask/keyring-utils").ExactOptionalTag | {
            origin?: string;
            securityAlertResponse?: "Benign" | "Warning" | "Malicious";
        }, {
            /**
             * Origin of the original transaction request.
             *
             * This can be either 'metamask' for internally initiated transactions, or a URL
             * (e.g., 'https://dapp.example.com') for dapp-initiated transactions.
             */
            origin: import("@metamask/superstruct").Struct<string | import("@metamask/keyring-utils").ExactOptionalTag, null>;
            /**
             * Response from the Security Alert API indicating the security assessment of the
             * transaction.
             */
            securityAlertResponse: import("@metamask/superstruct").Struct<import("@metamask/keyring-utils").ExactOptionalTag | "Benign" | "Warning" | "Malicious", {
                Benign: "Benign";
                Warning: "Warning";
                Malicious: "Malicious";
            }>;
        }>;
    }>>;
    /**
     * Next cursor to iterate over the results. If null, there are no more
     * results.
     */
    next: import("@metamask/superstruct").Struct<string | null, null>;
}>;
/**
 * Transactions page object.
 *
 * See {@link TransactionsPageStruct}.
 */
export type TransactionsPage = InferEquals<typeof TransactionsPageStruct, Paginated<Transaction>>;
//# sourceMappingURL=transaction.d.cts.map