export declare const oFTAdapter: readonly [{
    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: "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: "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: "enum";
    readonly name: "core::bool";
    readonly variants: readonly [{
        readonly name: "False";
        readonly type: "()";
    }, {
        readonly name: "True";
        readonly type: "()";
    }];
}, {
    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: "constructor";
    readonly name: "constructor";
    readonly inputs: readonly [{
        readonly name: "erc20_token";
        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 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: "oft_adapter::oft_adapter::OFTAdapter::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        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";
    }];
}];
//# sourceMappingURL=o-f-t-adapter.d.ts.map