export declare const priceFeed: readonly [{
    readonly type: "impl";
    readonly name: "PriceFeedImpl";
    readonly interface_name: "layerzero::workers::price_feed::interface::IPriceFeed";
}, {
    readonly type: "enum";
    readonly name: "core::bool";
    readonly variants: readonly [{
        readonly name: "False";
        readonly type: "()";
    }, {
        readonly name: "True";
        readonly type: "()";
    }];
}, {
    readonly type: "enum";
    readonly name: "layerzero::workers::price_feed::structs::ModelType";
    readonly variants: readonly [{
        readonly name: "DEFAULT";
        readonly type: "()";
    }, {
        readonly name: "OP_STACK";
        readonly type: "()";
    }, {
        readonly name: "ARB_STACK";
        readonly type: "()";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::workers::price_feed::structs::SetEidToModelTypeParam";
    readonly members: readonly [{
        readonly name: "eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "model_type";
        readonly type: "layerzero::workers::price_feed::structs::ModelType";
    }];
}, {
    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: "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::workers::price_feed::structs::Price";
    readonly members: readonly [{
        readonly name: "price_ratio";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "gas_price_in_unit";
        readonly type: "core::integer::u64";
    }, {
        readonly name: "gas_per_byte";
        readonly type: "core::integer::u32";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::workers::price_feed::structs::SetPriceParam";
    readonly members: readonly [{
        readonly name: "eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "price";
        readonly type: "layerzero::workers::price_feed::structs::Price";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::workers::price_feed::structs::ArbitrumPriceExt";
    readonly members: readonly [{
        readonly name: "gas_per_l2_tx";
        readonly type: "core::integer::u64";
    }, {
        readonly name: "gas_per_l1_call_data_byte";
        readonly type: "core::integer::u32";
    }];
}, {
    readonly type: "struct";
    readonly name: "layerzero::workers::price_feed::structs::UpdatePriceExt";
    readonly members: readonly [{
        readonly name: "eid";
        readonly type: "core::integer::u32";
    }, {
        readonly name: "price";
        readonly type: "layerzero::workers::price_feed::structs::Price";
    }, {
        readonly name: "extend";
        readonly type: "layerzero::workers::price_feed::structs::ArbitrumPriceExt";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::workers::price_feed::interface::IPriceFeed";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "set_price_updater";
        readonly inputs: readonly [{
            readonly name: "address";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }, {
            readonly name: "active";
            readonly type: "core::bool";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_eid_to_model_type";
        readonly inputs: readonly [{
            readonly name: "params";
            readonly type: "core::array::Array::<layerzero::workers::price_feed::structs::SetEidToModelTypeParam>";
        }];
        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: "set_price_ratio_denominator";
        readonly inputs: readonly [{
            readonly name: "denominator";
            readonly type: "core::integer::u128";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_arbitrum_compression_percent";
        readonly inputs: readonly [{
            readonly name: "compression_percent";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_endpoint";
        readonly inputs: readonly [{
            readonly name: "endpoint";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "withdraw_fee";
        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: "set_price";
        readonly inputs: readonly [{
            readonly name: "params";
            readonly type: "core::array::Array::<layerzero::workers::price_feed::structs::SetPriceParam>";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_price_for_arbitrum";
        readonly inputs: readonly [{
            readonly name: "update";
            readonly type: "layerzero::workers::price_feed::structs::UpdatePriceExt";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "set_native_price_usd";
        readonly inputs: readonly [{
            readonly name: "price";
            readonly type: "core::integer::u128";
        }];
        readonly outputs: readonly [];
        readonly state_mutability: "external";
    }, {
        readonly type: "function";
        readonly name: "get_price_arbitrum_ext";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::workers::price_feed::structs::ArbitrumPriceExt";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_price_updater";
        readonly inputs: readonly [{
            readonly name: "address";
            readonly type: "core::starknet::contract_address::ContractAddress";
        }];
        readonly outputs: readonly [{
            readonly type: "core::bool";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_eid_to_model_type";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::workers::price_feed::structs::ModelType";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_arbitrum_compression_percent";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u32";
        }];
        readonly state_mutability: "view";
    }, {
        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: "impl";
    readonly name: "LayerZeroPriceFeedImpl";
    readonly interface_name: "layerzero::workers::price_feed::interface::ILayerZeroPriceFeed";
}, {
    readonly type: "struct";
    readonly name: "layerzero::workers::price_feed::structs::GetFeeResponse";
    readonly members: readonly [{
        readonly name: "gas_fee";
        readonly type: "core::integer::u256";
    }, {
        readonly name: "price_ratio";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "price_ratio_denominator";
        readonly type: "core::integer::u128";
    }, {
        readonly name: "native_price_usd";
        readonly type: "core::integer::u128";
    }];
}, {
    readonly type: "interface";
    readonly name: "layerzero::workers::price_feed::interface::ILayerZeroPriceFeed";
    readonly items: readonly [{
        readonly type: "function";
        readonly name: "native_price_usd";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u128";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_fee";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "calldata_size";
            readonly type: "core::integer::u256";
        }, {
            readonly name: "gas";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [{
            readonly type: "core::integer::u256";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_price";
        readonly inputs: readonly [{
            readonly name: "eid";
            readonly type: "core::integer::u32";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::workers::price_feed::structs::Price";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "get_price_ratio_denominator";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly type: "core::integer::u128";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "estimate_fee_by_eid";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "calldata_size";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "gas";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::workers::price_feed::structs::GetFeeResponse";
        }];
        readonly state_mutability: "view";
    }, {
        readonly type: "function";
        readonly name: "estimate_fee_on_send";
        readonly inputs: readonly [{
            readonly name: "dst_eid";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "calldata_size";
            readonly type: "core::integer::u32";
        }, {
            readonly name: "gas";
            readonly type: "core::integer::u256";
        }];
        readonly outputs: readonly [{
            readonly type: "layerzero::workers::price_feed::structs::GetFeeResponse";
        }];
        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 name: "price_updater";
        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: "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: "layerzero::workers::price_feed::events::FeeWithdrawn";
    readonly kind: "struct";
    readonly members: readonly [{
        readonly name: "token_address";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }, {
        readonly name: "to";
        readonly type: "core::starknet::contract_address::ContractAddress";
        readonly kind: "key";
    }, {
        readonly name: "amount";
        readonly type: "core::integer::u256";
        readonly kind: "data";
    }];
}, {
    readonly type: "event";
    readonly name: "layerzero::workers::price_feed::price_feed::PriceFeed::Event";
    readonly kind: "enum";
    readonly variants: readonly [{
        readonly name: "OwnableEvent";
        readonly type: "openzeppelin_access::ownable::ownable::OwnableComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "UpgradeableEvent";
        readonly type: "openzeppelin_upgrades::upgradeable::UpgradeableComponent::Event";
        readonly kind: "flat";
    }, {
        readonly name: "FeeWithdrawn";
        readonly type: "layerzero::workers::price_feed::events::FeeWithdrawn";
        readonly kind: "nested";
    }];
}];
//# sourceMappingURL=price-feed.d.ts.map