export declare const treasury: readonly [{
    readonly type: "impl";
    readonly name: "TreasuryImpl";
    readonly interface_name: "layerzero::treasury::interfaces::layerzero_treasury::ILayerZeroTreasury";
}, {
    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: "enum";
    readonly name: "core::bool";
    readonly variants: readonly [{
        readonly name: "False";
        readonly type: "()";
    }, {
        readonly name: "True";
        readonly type: "()";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::treasury::interfaces::layerzero_treasury::ILayerZeroTreasury";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "get_fee";
        readonly inputs: readonly [{
            readonly name: "sender";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }, {
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "worker_fee";
            readonly type: "core::integer::u256";
        }, {
            readonly name: "pay_in_lz_token";
            readonly type: "core::bool";
        }];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "pay_fee";
        readonly inputs: readonly [{
            readonly name: "sender";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }, {
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "worker_fee";
            readonly type: "core::integer::u256";
        }, {
            readonly name: "pay_in_lz_token";
            readonly type: "core::bool";
        }];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "TreasuryAdminImpl";
    readonly interface_name: "layerzero::treasury::interfaces::treasury_admin::ITreasuryAdmin";
}, {
    readonly type: "enum";
    readonly name: "core::option::Option::<core::starknet::contract_address::ContractAddress>";
    readonly variants: readonly [{
        readonly name: "Some";
        readonly type: "core::starknet::contract_address::ContractAddress";
    }, {
        readonly name: "None";
        readonly type: "()";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::treasury::interfaces::treasury_admin::ITreasuryAdmin";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "get_fee_bp";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "set_fee_bp";
        readonly inputs: readonly [{
            readonly name: "basis_points";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "withdraw_tokens";
        readonly inputs: readonly [{
            readonly name: "token_address";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }, {
            readonly name: "to";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }, {
            readonly name: "amount";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "get_lz_token_fee_lib";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::option::Option::<core::starknet::contract_address::ContractAddress>";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "set_lz_token_fee_lib";
        readonly inputs: readonly [{
            readonly name: "library";
            readonly type: "core::option::Option::<core::starknet::contract_address::ContractAddress>";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }];
}, {
    readonly type: "impl";
    readonly name: "OwnableImpl";
    readonly interface_name: "openzeppelin_access::ownable::interface::IOwnable";
}, {
    readonly type: "interface";
    readonly name: "openzeppelin_access::ownable::interface::IOwnable";
    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: "constructor";
    readonly name: "constructor";
    readonly inputs: readonly [{
        readonly name: "owner";
        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::treasury::events::BasisPointsUpdated";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "old_bp";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }, {
        readonly name: "new_bp";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::treasury::treasury::Treasury::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "OwnableEvent";
        readonly type: "openzeppelin_access::ownable::ownable::OwnableComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "BasisPointsUpdated";
        readonly type: "layerzero::treasury::events::BasisPointsUpdated";
        readonly kind: "nested";
    }];
}];
//# sourceMappingURL=treasury.d.ts.map