export declare const oFTMintBurnAdapter: readonly [{
    readonly type: "impl";
    readonly name: "OFTMintBurnAdapterImpl";
    readonly interface_name: "oft_mint_burn::interface::IOFTMintBurnAdapter";
}, {
    readonly type: "struct";
    readonly name: "core::integer::u256";
    readonly members: readonly [{
        readonly name: "low";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "high";
        readonly type: "core::integer::u128";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::rate_limiter::structs::RateLimitConfig";
    readonly members: readonly [{
        readonly name: "dst_eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "limit";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "window";
        readonly type: "core::integer::u64";
    }];
}, {
    readonly type: "enum";
    readonly name: "layerzero::oapps::common::rate_limiter::structs::RateLimitDirection";
    readonly variants: readonly [{
        readonly name: "Outbound";
        readonly type: "()";
    }, {
        readonly name: "Inbound";
        readonly type: "()";
    }];
}, {
    readonly type: "enum";
    readonly name: "core::bool";
    readonly variants: readonly [{
        readonly name: "False";
        readonly type: "()";
    }, {
        readonly name: "True";
        readonly type: "()";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::rate_limiter::structs::RateLimitEnabled";
    readonly members: readonly [{
        readonly name: "is_outbound_enabled";
        readonly type: "core::bool";
    }, {
        readonly name: "is_inbound_enabled";
        readonly type: "core::bool";
    }];
}, {
    readonly type: "struct";
    readonly name: "core::array::Span::<core::felt252>";
    readonly members: readonly [{
        readonly name: "snapshot";
        readonly type: "@core::array::Array::<core::felt252>";
    }];
}, {
    readonly type: "interface";
    readonly name: "oft_mint_burn::interface::IOFTMintBurnAdapter";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "fee_balance";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_minter_burner";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "set_rate_limits";
        readonly inputs: readonly [{
            readonly name: "rate_limits";
            readonly type: "core::array::Array::<layerzero::oapps::common::rate_limiter::structs::RateLimitConfig>";
        }, {
            readonly name: "direction";
            readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimitDirection";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_rate_limits_enabled";
        readonly inputs: readonly [{
            readonly name: "enabled";
            readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimitEnabled";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "reset_rate_limits";
        readonly inputs: readonly [{
            readonly name: "eids";
            readonly type: "core::array::Array::<core::integer::u32>";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "withdraw_fees";
        readonly inputs: readonly [{
            readonly name: "to";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "upgrade";
        readonly inputs: readonly [{
            readonly name: "new_class_hash";
            readonly type: "core::starknet::class_hash::ClassHash";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "upgrade_and_call";
        readonly inputs: readonly [{
            readonly name: "new_class_hash";
            readonly type: "core::starknet::class_hash::ClassHash";
        }, {
            readonly name: "selector";
            readonly type: "core::felt252";
        }, {
            readonly name: "calldata";
            readonly type: "core::array::Span::<core::felt252>";
        }];
        readonly outputs: readonly [{
            readonly type: "core::array::Span::<core::felt252>";
        }];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "pause";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "unpause";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "AccessControlImpl";
    readonly interface_name: "openzeppelin_access::accesscontrol::interface::IAccessControl";
}, {
    readonly type: "interface";
    readonly name: "openzeppelin_access::accesscontrol::interface::IAccessControl";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "has_role";
        readonly inputs: readonly [{
            readonly name: "role";
            readonly type: "core::felt252";
        }, {
            readonly name: "account";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [{
            readonly type: "core::bool";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_role_admin";
        readonly inputs: readonly [{
            readonly name: "role";
            readonly type: "core::felt252";
        }];
        readonly outputs: readonly [{
            readonly type: "core::felt252";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "grant_role";
        readonly inputs: readonly [{
            readonly name: "role";
            readonly type: "core::felt252";
        }, {
            readonly name: "account";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "revoke_role";
        readonly inputs: readonly [{
            readonly name: "role";
            readonly type: "core::felt252";
        }, {
            readonly name: "account";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "renounce_role";
        readonly inputs: readonly [{
            readonly name: "role";
            readonly type: "core::felt252";
        }, {
            readonly name: "account";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "PausableImpl";
    readonly interface_name: "openzeppelin_security::interface::IPausable";
}, {
    readonly type: "interface";
    readonly name: "openzeppelin_security::interface::IPausable";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "is_paused";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::bool";
        }];
        readonly state_mutability: "view";
    }];
}, {
    readonly type: "impl";
    readonly name: "OwnableMixinImpl";
    readonly interface_name: "openzeppelin_access::ownable::interface::OwnableABI";
}, {
    readonly type: "interface";
    readonly name: "openzeppelin_access::ownable::interface::OwnableABI";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "owner";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "transfer_ownership";
        readonly inputs: readonly [{
            readonly name: "new_owner";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "renounce_ownership";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "transferOwnership";
        readonly inputs: readonly [{
            readonly name: "newOwner";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "renounceOwnership";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "OAppCoreImpl";
    readonly interface_name: "layerzero::oapps::oapp::interface::IOApp";
}, {
    readonly type: "struct";
    readonly name: "lz_utils::bytes::Bytes32";
    readonly members: readonly [{
        readonly name: "value";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::oapps::oapp::interface::IOApp";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "get_endpoint";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "set_peer";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "peer";
            readonly type: "lz_utils::bytes::Bytes32";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "get_peer";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "lz_utils::bytes::Bytes32";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "oapp_version";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "(core::integer::u64, core::integer::u64)";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "set_delegate";
        readonly inputs: readonly [{
            readonly name: "delegate";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "IOAppReceiverImpl";
    readonly interface_name: "layerzero::oapps::oapp::interface::IOAppReceiver";
}, {
    readonly type: "struct";
    readonly name: "layerzero::common::structs::packet::Origin";
    readonly members: readonly [{
        readonly name: "src_eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "sender";
        readonly type: "lz_utils::bytes::Bytes32";
    }, {
        readonly name: "nonce";
        readonly type: "core::integer::u64";
    }];
}, {
    readonly type: "struct";
    readonly name: "core::byte_array::ByteArray";
    readonly members: readonly [{
        readonly name: "data";
        readonly type: "core::array::Array::<core::bytes_31::bytes31>";
    }, {
        readonly name: "pending_word";
        readonly type: "core::felt252";
    }, {
        readonly name: "pending_word_len";
        readonly type: "core::internal::bounded_int::BoundedInt::<0, 30>";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::oapps::oapp::interface::IOAppReceiver";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "is_compose_msg_sender";
        readonly inputs: readonly [{
            readonly name: "origin";
            readonly type: "layerzero::common::structs::packet::Origin";
        }, {
            readonly name: "message";
            readonly type: "core::byte_array::ByteArray";
        }, {
            readonly name: "sender";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [{
            readonly type: "core::bool";
        }];
        readonly state_mutability: "view";
    }];
}, {
    readonly type: "impl";
    readonly name: "ILayerZeroReceiverImpl";
    readonly interface_name: "layerzero::endpoint::interfaces::layerzero_receiver::ILayerZeroReceiver";
}, {
    readonly type: "interface";
    readonly name: "layerzero::endpoint::interfaces::layerzero_receiver::ILayerZeroReceiver";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "lz_receive";
        readonly inputs: readonly [{
            readonly name: "origin";
            readonly type: "layerzero::common::structs::packet::Origin";
        }, {
            readonly name: "guid";
            readonly type: "lz_utils::bytes::Bytes32";
        }, {
            readonly name: "message";
            readonly type: "core::byte_array::ByteArray";
        }, {
            readonly name: "executor";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }, {
            readonly name: "extra_data";
            readonly type: "core::byte_array::ByteArray";
        }, {
            readonly name: "value";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "allow_initialize_path";
        readonly inputs: readonly [{
            readonly name: "origin";
            readonly type: "layerzero::common::structs::packet::Origin";
        }];
        readonly outputs: readonly [{
            readonly type: "core::bool";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "next_nonce";
        readonly inputs: readonly [{
            readonly name: "src_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "sender";
            readonly type: "lz_utils::bytes::Bytes32";
        }];
        readonly outputs: readonly [{
            readonly type: "core::integer::u64";
        }];
        readonly state_mutability: "view";
    }];
}, {
    readonly type: "impl";
    readonly name: "OFTCoreImpl";
    readonly interface_name: "layerzero::oapps::oft::interface::IOFT";
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::OFTVersion";
    readonly members: readonly [{
        readonly name: "interface_id";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "version";
        readonly type: "core::integer::u64";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::SendParam";
    readonly members: readonly [{
        readonly name: "dst_eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "to";
        readonly type: "lz_utils::bytes::Bytes32";
    }, {
        readonly name: "amount_ld";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "min_amount_ld";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "extra_options";
        readonly type: "core::byte_array::ByteArray";
    }, {
        readonly name: "compose_msg";
        readonly type: "core::byte_array::ByteArray";
    }, {
        readonly name: "oft_cmd";
        readonly type: "core::byte_array::ByteArray";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::OFTLimit";
    readonly members: readonly [{
        readonly name: "min_amount_ld";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "max_amount_ld";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::OFTFeeDetail";
    readonly members: readonly [{
        readonly name: "fee_amount_ld";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "reward_amount_ld";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "description";
        readonly type: "core::byte_array::ByteArray";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::OFTReceipt";
    readonly members: readonly [{
        readonly name: "amount_sent_ld";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "amount_received_ld";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::OFTQuote";
    readonly members: readonly [{
        readonly name: "limit";
        readonly type: "layerzero::oapps::oft::structs::OFTLimit";
    }, {
        readonly name: "oft_fee_details";
        readonly type: "core::array::Array::<layerzero::oapps::oft::structs::OFTFeeDetail>";
    }, {
        readonly name: "receipt";
        readonly type: "layerzero::oapps::oft::structs::OFTReceipt";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::common::structs::messaging::MessagingFee";
    readonly members: readonly [{
        readonly name: "native_fee";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "lz_token_fee";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::common::structs::messaging::Payee";
    readonly members: readonly [{
        readonly name: "receiver";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "native_amount";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "lz_token_amount";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::common::structs::messaging::MessageReceipt";
    readonly members: readonly [{
        readonly name: "guid";
        readonly type: "lz_utils::bytes::Bytes32";
    }, {
        readonly name: "nonce";
        readonly type: "core::integer::u64";
    }, {
        readonly name: "payees";
        readonly type: "core::array::Array::<layerzero::common::structs::messaging::Payee>";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::oft::structs::OFTSendResult";
    readonly members: readonly [{
        readonly name: "message_receipt";
        readonly type: "layerzero::common::structs::messaging::MessageReceipt";
    }, {
        readonly name: "oft_receipt";
        readonly type: "layerzero::oapps::oft::structs::OFTReceipt";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::oapps::oft::interface::IOFT";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "oft_version";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::oft::structs::OFTVersion";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "token";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "approval_required";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::bool";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "shared_decimals";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u8";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "decimal_conversion_rate";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "msg_inspector";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "set_msg_inspector";
        readonly inputs: readonly [{
            readonly name: "msg_inspector";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "quote_oft";
        readonly inputs: readonly [{
            readonly name: "send_param";
            readonly type: "layerzero::oapps::oft::structs::SendParam";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::oft::structs::OFTQuote";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "quote_send";
        readonly inputs: readonly [{
            readonly name: "send_param";
            readonly type: "layerzero::oapps::oft::structs::SendParam";
        }, {
            readonly name: "pay_in_lz_token";
            readonly type: "core::bool";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::common::structs::messaging::MessagingFee";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "send";
        readonly inputs: readonly [{
            readonly name: "send_param";
            readonly type: "layerzero::oapps::oft::structs::SendParam";
        }, {
            readonly name: "fee";
            readonly type: "layerzero::common::structs::messaging::MessagingFee";
        }, {
            readonly name: "refund_address";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::oft::structs::OFTSendResult";
        }];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "OAppOptionsType3Impl";
    readonly interface_name: "layerzero::oapps::common::oapp_options_type_3::interface::IOAppOptionsType3";
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::oapp_options_type_3::structs::EnforcedOptionParam";
    readonly members: readonly [{
        readonly name: "eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "msg_type";
        readonly type: "core::integer::u16";
    }, {
        readonly name: "options";
        readonly type: "core::byte_array::ByteArray";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::oapps::common::oapp_options_type_3::interface::IOAppOptionsType3";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "set_enforced_options";
        readonly inputs: readonly [{
            readonly name: "enforced_options";
            readonly type: "core::array::Array::<layerzero::oapps::common::oapp_options_type_3::structs::EnforcedOptionParam>";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "combine_options";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "msg_type";
            readonly type: "core::integer::u16";
        }, {
            readonly name: "extra_options";
            readonly type: "core::byte_array::ByteArray";
        }];
        readonly outputs: readonly [{
            readonly type: "core::byte_array::ByteArray";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_enforced_options";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "msg_type";
            readonly type: "core::integer::u16";
        }];
        readonly outputs: readonly [{
            readonly type: "core::byte_array::ByteArray";
        }];
        readonly state_mutability: "view";
    }];
}, {
    readonly type: "impl";
    readonly name: "FeeImpl";
    readonly interface_name: "layerzero::oapps::common::fee::interface::IFee";
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::fee::structs::FeeConfig";
    readonly members: readonly [{
        readonly name: "fee_bps";
        readonly type: "core::integer::u16";
    }, {
        readonly name: "enabled";
        readonly type: "core::bool";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::oapps::common::fee::interface::IFee";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "set_default_fee_bps";
        readonly inputs: readonly [{
            readonly name: "fee_bps";
            readonly type: "core::integer::u16";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_fee_bps";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "fee_bps";
            readonly type: "core::integer::u16";
        }, {
            readonly name: "enabled";
            readonly type: "core::bool";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "get_fee";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "amount";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_raw_fee_bps";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::common::fee::structs::FeeConfig";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_raw_default_fee_bps";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u16";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_raw_bps_denominator";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u16";
        }];
        readonly state_mutability: "view";
    }];
}, {
    readonly type: "impl";
    readonly name: "RateLimiterImpl";
    readonly interface_name: "layerzero::oapps::common::rate_limiter::interface::IRateLimiter";
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::rate_limiter::structs::SendableAmount";
    readonly members: readonly [{
        readonly name: "amount_in_flight";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "sendable_amount";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::rate_limiter::structs::ReceivableAmount";
    readonly members: readonly [{
        readonly name: "amount_in_flight";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "receivable_amount";
        readonly type: "core::integer::u256";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::oapps::common::rate_limiter::structs::RateLimit";
    readonly members: readonly [{
        readonly name: "amount_in_flight";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "last_updated";
        readonly type: "core::integer::u64";
    }, {
        readonly name: "limit";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "window";
        readonly type: "core::integer::u64";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::oapps::common::rate_limiter::interface::IRateLimiter";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "get_sendable_amount";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::common::rate_limiter::structs::SendableAmount";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_receivable_amount";
        readonly inputs: readonly [{
            readonly name: "src_eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::common::rate_limiter::structs::ReceivableAmount";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_outbound_rate_limit";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimit";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_inbound_rate_limit";
        readonly inputs: readonly [{
            readonly name: "src_eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimit";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_rate_limit_enabled";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimitEnabled";
        }];
        readonly state_mutability: "view";
    }];
}, {
    readonly type: "constructor";
    readonly name: "constructor";
    readonly inputs: readonly [{
        readonly name: "erc20_token";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "minter_burner";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "lz_endpoint";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "owner";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "native_token";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "shared_decimals";
        readonly type: "core::integer::u8";
    }];
}, {
    readonly type: "event";
    readonly name: "oft_mint_burn::oft_mint_burn_adapter::OFTMintBurnAdapter::FeeWithdrawn";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "to";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }, {
        readonly name: "amount_ld";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "role";
        readonly type: "core::felt252";
        readonly kind: "data";
    }, {
        readonly name: "account";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }, {
        readonly name: "sender";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "role";
        readonly type: "core::felt252";
        readonly kind: "data";
    }, {
        readonly name: "account";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }, {
        readonly name: "sender";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }, {
        readonly name: "delay";
        readonly type: "core::integer::u64";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "role";
        readonly type: "core::felt252";
        readonly kind: "data";
    }, {
        readonly name: "account";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }, {
        readonly name: "sender";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "role";
        readonly type: "core::felt252";
        readonly kind: "data";
    }, {
        readonly name: "previous_admin_role";
        readonly type: "core::felt252";
        readonly kind: "data";
    }, {
        readonly name: "new_admin_role";
        readonly type: "core::felt252";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "RoleGranted";
        readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGranted";
        readonly kind: "nested";
    }, {
        readonly name: "RoleGrantedWithDelay";
        readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleGrantedWithDelay";
        readonly kind: "nested";
    }, {
        readonly name: "RoleRevoked";
        readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleRevoked";
        readonly kind: "nested";
    }, {
        readonly name: "RoleAdminChanged";
        readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::RoleAdminChanged";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_introspection::src5::SRC5Component::Event";
    readonly kind: "enum";
    readonly variants: readonly [];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_security::pausable::PausableComponent::Paused";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "account";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_security::pausable::PausableComponent::Unpaused";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "account";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_security::pausable::PausableComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "Paused";
        readonly type: "openzeppelin_security::pausable::PausableComponent::Paused";
        readonly kind: "nested";
    }, {
        readonly name: "Unpaused";
        readonly type: "openzeppelin_security::pausable::PausableComponent::Unpaused";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferred";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "previous_owner";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }, {
        readonly name: "new_owner";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferStarted";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "previous_owner";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }, {
        readonly name: "new_owner";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_access::ownable::ownable::OwnableComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "OwnershipTransferred";
        readonly type: "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferred";
        readonly kind: "nested";
    }, {
        readonly name: "OwnershipTransferStarted";
        readonly type: "openzeppelin_access::ownable::ownable::OwnableComponent::OwnershipTransferStarted";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::oapp::events::PeerSet";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "eid";
        readonly type: "core::integer::u32";
        readonly kind: "key";
    }, {
        readonly name: "peer";
        readonly type: "lz_utils::bytes::Bytes32";
        readonly kind: "key";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::oapp::oapp_core::OAppCoreComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "PeerSet";
        readonly type: "layerzero::oapps::oapp::events::PeerSet";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::oft::events::OFTSent";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "guid";
        readonly type: "lz_utils::bytes::Bytes32";
        readonly kind: "key";
    }, {
        readonly name: "dst_eid";
        readonly type: "core::integer::u32";
        readonly kind: "key";
    }, {
        readonly name: "from";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }, {
        readonly name: "amount_sent_ld";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }, {
        readonly name: "amount_received_ld";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::oft::events::OFTReceived";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "guid";
        readonly type: "lz_utils::bytes::Bytes32";
        readonly kind: "key";
    }, {
        readonly name: "src_eid";
        readonly type: "core::integer::u32";
        readonly kind: "key";
    }, {
        readonly name: "to";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }, {
        readonly name: "amount_received_ld";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::oft::events::MsgInspectorSet";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "msg_inspector";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::oft::oft_core::oft_core::OFTCoreComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "OFTSent";
        readonly type: "layerzero::oapps::oft::events::OFTSent";
        readonly kind: "nested";
    }, {
        readonly name: "OFTReceived";
        readonly type: "layerzero::oapps::oft::events::OFTReceived";
        readonly kind: "nested";
    }, {
        readonly name: "MsgInspectorSet";
        readonly type: "layerzero::oapps::oft::events::MsgInspectorSet";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::oapp_options_type_3::events::EnforcedOptionSet";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "options";
        readonly type: "core::array::Array::<layerzero::oapps::common::oapp_options_type_3::structs::EnforcedOptionParam>";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::oapp_options_type_3::oapp_options_type_3::OAppOptionsType3Component::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "EnforcedOptionSet";
        readonly type: "layerzero::oapps::common::oapp_options_type_3::events::EnforcedOptionSet";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::fee::events::FeeBpsSet";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "dst_eid";
        readonly type: "core::integer::u32";
        readonly kind: "data";
    }, {
        readonly name: "fee_bps";
        readonly type: "core::integer::u16";
        readonly kind: "data";
    }, {
        readonly name: "enabled";
        readonly type: "core::bool";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::fee::events::DefaultFeeBpsSet";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "fee_bps";
        readonly type: "core::integer::u16";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::fee::fee::FeeComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "FeeBpsSet";
        readonly type: "layerzero::oapps::common::fee::events::FeeBpsSet";
        readonly kind: "nested";
    }, {
        readonly name: "DefaultFeeBpsSet";
        readonly type: "layerzero::oapps::common::fee::events::DefaultFeeBpsSet";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::rate_limiter::events::RateLimitsChanged";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "configs";
        readonly type: "core::array::Array::<layerzero::oapps::common::rate_limiter::structs::RateLimitConfig>";
        readonly kind: "data";
    }, {
        readonly name: "direction";
        readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimitDirection";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::rate_limiter::events::RateLimitsReset";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "eids";
        readonly type: "core::array::Array::<core::integer::u32>";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::rate_limiter::events::RateLimitEnabledChanged";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "rate_limit_enabled";
        readonly type: "layerzero::oapps::common::rate_limiter::structs::RateLimitEnabled";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::oapps::common::rate_limiter::rate_limiter::RateLimiterComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "RateLimitsChanged";
        readonly type: "layerzero::oapps::common::rate_limiter::events::RateLimitsChanged";
        readonly kind: "nested";
    }, {
        readonly name: "RateLimitsReset";
        readonly type: "layerzero::oapps::common::rate_limiter::events::RateLimitsReset";
        readonly kind: "nested";
    }, {
        readonly name: "RateLimitEnabledChanged";
        readonly type: "layerzero::oapps::common::rate_limiter::events::RateLimitEnabledChanged";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "class_hash";
        readonly type: "core::starknet::class_hash::ClassHash";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "Upgraded";
        readonly type: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Upgraded";
        readonly kind: "nested";
    }];
}, {
    readonly type: "event";
    readonly name: "oft_mint_burn::oft_mint_burn_adapter::OFTMintBurnAdapter::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "FeeWithdrawn";
        readonly type: "oft_mint_burn::oft_mint_burn_adapter::OFTMintBurnAdapter::FeeWithdrawn";
        readonly kind: "nested";
    }, {
        readonly name: "AccessControlEvent";
        readonly type: "openzeppelin_access::accesscontrol::accesscontrol::AccessControlComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "SRC5Event";
        readonly type: "openzeppelin_introspection::src5::SRC5Component::Event";
        readonly kind: "flat";
    }, {
        readonly name: "PausableEvent";
        readonly type: "openzeppelin_security::pausable::PausableComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "OwnableEvent";
        readonly type: "openzeppelin_access::ownable::ownable::OwnableComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "OAppCoreEvent";
        readonly type: "layerzero::oapps::oapp::oapp_core::OAppCoreComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "OFTCoreEvent";
        readonly type: "layerzero::oapps::oft::oft_core::oft_core::OFTCoreComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "OAppOptionsType3Event";
        readonly type: "layerzero::oapps::common::oapp_options_type_3::oapp_options_type_3::OAppOptionsType3Component::Event";
        readonly kind: "flat";
    }, {
        readonly name: "FeeEvent";
        readonly type: "layerzero::oapps::common::fee::fee::FeeComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "RateLimiterEvent";
        readonly type: "layerzero::oapps::common::rate_limiter::rate_limiter::RateLimiterComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "UpgradeableEvent";
        readonly type: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event";
        readonly kind: "flat";
    }];
}];
//# sourceMappingURL=o-f-t-mint-burn-adapter.d.ts.map