import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../common"; export declare namespace Accounts { type BalanceStruct = { token: string; amount: BigNumberish; }; type BalanceStructOutput = [string, BigNumber] & { token: string; amount: BigNumber; }; type UserEarningStruct = { earningType: BigNumberish; isLister: boolean; account: string; value: BigNumberish; token: string; }; type UserEarningStructOutput = [ number, boolean, string, BigNumber, string ] & { earningType: number; isLister: boolean; account: string; value: BigNumber; token: string; }; type UniverseEarningStruct = { earningType: BigNumberish; universeId: BigNumberish; value: BigNumberish; token: string; }; type UniverseEarningStructOutput = [ number, BigNumber, BigNumber, string ] & { earningType: number; universeId: BigNumber; value: BigNumber; token: string; }; type ProtocolEarningStruct = { earningType: BigNumberish; value: BigNumberish; token: string; }; type ProtocolEarningStructOutput = [number, BigNumber, string] & { earningType: number; value: BigNumber; token: string; }; type RentalEarningsStruct = { userEarnings: Accounts.UserEarningStruct[]; universeEarning: Accounts.UniverseEarningStruct; protocolEarning: Accounts.ProtocolEarningStruct; }; type RentalEarningsStructOutput = [ Accounts.UserEarningStructOutput[], Accounts.UniverseEarningStructOutput, Accounts.ProtocolEarningStructOutput ] & { userEarnings: Accounts.UserEarningStructOutput[]; universeEarning: Accounts.UniverseEarningStructOutput; protocolEarning: Accounts.ProtocolEarningStructOutput; }; } export declare namespace Assets { type AssetIdStruct = { class: BytesLike; data: BytesLike; }; type AssetIdStructOutput = [string, string] & { class: string; data: string; }; type AssetStruct = { id: Assets.AssetIdStruct; value: BigNumberish; }; type AssetStructOutput = [Assets.AssetIdStructOutput, BigNumber] & { id: Assets.AssetIdStructOutput; value: BigNumber; }; type AssetConfigStruct = { controller: string; assetClass: BytesLike; vault: string; }; type AssetConfigStructOutput = [string, string, string] & { controller: string; assetClass: string; vault: string; }; } export declare namespace Listings { type ListingStruct = { assets: Assets.AssetStruct[]; lister: string; beneficiary: string; maxLockPeriod: BigNumberish; lockedTill: BigNumberish; configurator: string; immediatePayout: boolean; enabled: boolean; paused: boolean; }; type ListingStructOutput = [ Assets.AssetStructOutput[], string, string, number, number, string, boolean, boolean, boolean ] & { assets: Assets.AssetStructOutput[]; lister: string; beneficiary: string; maxLockPeriod: number; lockedTill: number; configurator: string; immediatePayout: boolean; enabled: boolean; paused: boolean; }; } export declare namespace IListingTermsRegistry { type ListingTermsStruct = { strategyId: BytesLike; strategyData: BytesLike; }; type ListingTermsStructOutput = [string, string] & { strategyId: string; strategyData: string; }; } export declare namespace ITaxTermsRegistry { type TaxTermsStruct = { strategyId: BytesLike; strategyData: BytesLike; }; type TaxTermsStructOutput = [string, string] & { strategyId: string; strategyData: string; }; } export declare namespace ITokenQuote { type PaymentTokenDataStruct = { paymentToken: string; paymentTokenQuote: BigNumberish; }; type PaymentTokenDataStructOutput = [string, BigNumber] & { paymentToken: string; paymentTokenQuote: BigNumber; }; } export declare namespace Rentings { type AgreementTermsStruct = { listingTerms: IListingTermsRegistry.ListingTermsStruct; universeTaxTerms: ITaxTermsRegistry.TaxTermsStruct; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStruct; paymentTokenData: ITokenQuote.PaymentTokenDataStruct; }; type AgreementTermsStructOutput = [ IListingTermsRegistry.ListingTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput, ITokenQuote.PaymentTokenDataStructOutput ] & { listingTerms: IListingTermsRegistry.ListingTermsStructOutput; universeTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; paymentTokenData: ITokenQuote.PaymentTokenDataStructOutput; }; type AgreementStruct = { warpedAssets: Assets.AssetStruct[]; universeId: BigNumberish; collectionId: BytesLike; listingId: BigNumberish; renter: string; startTime: BigNumberish; endTime: BigNumberish; agreementTerms: Rentings.AgreementTermsStruct; }; type AgreementStructOutput = [ Assets.AssetStructOutput[], BigNumber, string, BigNumber, string, number, number, Rentings.AgreementTermsStructOutput ] & { warpedAssets: Assets.AssetStructOutput[]; universeId: BigNumber; collectionId: string; listingId: BigNumber; renter: string; startTime: number; endTime: number; agreementTerms: Rentings.AgreementTermsStructOutput; }; type ParamsStruct = { listingId: BigNumberish; warper: string; renter: string; rentalPeriod: BigNumberish; paymentToken: string; listingTermsId: BigNumberish; selectedConfiguratorListingTerms: IListingTermsRegistry.ListingTermsStruct; }; type ParamsStructOutput = [ BigNumber, string, string, number, string, BigNumber, IListingTermsRegistry.ListingTermsStructOutput ] & { listingId: BigNumber; warper: string; renter: string; rentalPeriod: number; paymentToken: string; listingTermsId: BigNumber; selectedConfiguratorListingTerms: IListingTermsRegistry.ListingTermsStructOutput; }; type RentalFeesStruct = { total: BigNumberish; protocolFee: BigNumberish; listerBaseFee: BigNumberish; listerPremium: BigNumberish; universeBaseFee: BigNumberish; universePremium: BigNumberish; listingTerms: IListingTermsRegistry.ListingTermsStruct; universeTaxTerms: ITaxTermsRegistry.TaxTermsStruct; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStruct; }; type RentalFeesStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, IListingTermsRegistry.ListingTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput ] & { total: BigNumber; protocolFee: BigNumber; listerBaseFee: BigNumber; listerPremium: BigNumber; universeBaseFee: BigNumber; universePremium: BigNumber; listingTerms: IListingTermsRegistry.ListingTermsStructOutput; universeTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; }; } export declare namespace ERC20RewardDistributionHelper { type RentalExternalERC20RewardFeesStruct = { token: string; totalReward: BigNumberish; listerRewardFee: BigNumberish; renterRewardFee: BigNumberish; universeRewardFee: BigNumberish; protocolRewardFee: BigNumberish; }; type RentalExternalERC20RewardFeesStructOutput = [ string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber ] & { token: string; totalReward: BigNumber; listerRewardFee: BigNumber; renterRewardFee: BigNumber; universeRewardFee: BigNumber; protocolRewardFee: BigNumber; }; } export declare namespace Metahub { type MetahubInitParamsStruct = { acl: string; baseToken: string; protocolExternalFeesCollector: string; assetClassRegistry: string; }; type MetahubInitParamsStructOutput = [ string, string, string, string ] & { acl: string; baseToken: string; protocolExternalFeesCollector: string; assetClassRegistry: string; }; } export interface MetahubV2MockInterface extends utils.Interface { functions: { "assetClassController(bytes4)": FunctionFragment; "balance(address,address)": FunctionFragment; "balances(address)": FunctionFragment; "baseToken()": FunctionFragment; "baseTokenDecimals()": FunctionFragment; "changeProtocolExternalFeesCollector(address)": FunctionFragment; "depositAsset(((bytes4,bytes),uint256),address)": FunctionFragment; "getContract(bytes4)": FunctionFragment; "handleExternalERC20Reward((((bytes4,bytes),uint256)[],address,address,uint32,uint32,address,bool,bool,bool),(((bytes4,bytes),uint256)[],uint256,bytes32,uint256,address,uint32,uint32,((bytes4,bytes),(bytes4,bytes),(bytes4,bytes),(address,uint256))),(address,uint256,uint256,uint256,uint256,uint256))": FunctionFragment; "handleRentalPayment((uint256,address,address,uint32,address,uint256,(bytes4,bytes)),(uint256,uint256,uint256,uint256,uint256,uint256,(bytes4,bytes),(bytes4,bytes),(bytes4,bytes)),address,uint256,bytes,bytes)": FunctionFragment; "initialize((address,address,address,address))": FunctionFragment; "protocolBalance(address)": FunctionFragment; "protocolBalances()": FunctionFragment; "protocolExternalFeesCollector()": FunctionFragment; "proxiableUUID()": FunctionFragment; "registerAsset(bytes4,address)": FunctionFragment; "registerContract(bytes4,address)": FunctionFragment; "supportedAssetCount()": FunctionFragment; "supportedAssets(uint256,uint256)": FunctionFragment; "universeBalance(uint256,address)": FunctionFragment; "universeBalances(uint256)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "version()": FunctionFragment; "withdrawAsset(((bytes4,bytes),uint256))": FunctionFragment; "withdrawFunds(address,uint256,address)": FunctionFragment; "withdrawProtocolFunds(address,uint256,address)": FunctionFragment; "withdrawUniverseFunds(uint256,address,uint256,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "assetClassController" | "balance" | "balances" | "baseToken" | "baseTokenDecimals" | "changeProtocolExternalFeesCollector" | "depositAsset" | "getContract" | "handleExternalERC20Reward" | "handleRentalPayment" | "initialize" | "protocolBalance" | "protocolBalances" | "protocolExternalFeesCollector" | "proxiableUUID" | "registerAsset" | "registerContract" | "supportedAssetCount" | "supportedAssets" | "universeBalance" | "universeBalances" | "upgradeTo" | "upgradeToAndCall" | "version" | "withdrawAsset" | "withdrawFunds" | "withdrawProtocolFunds" | "withdrawUniverseFunds"): FunctionFragment; encodeFunctionData(functionFragment: "assetClassController", values: [BytesLike]): string; encodeFunctionData(functionFragment: "balance", values: [string, string]): string; encodeFunctionData(functionFragment: "balances", values: [string]): string; encodeFunctionData(functionFragment: "baseToken", values?: undefined): string; encodeFunctionData(functionFragment: "baseTokenDecimals", values?: undefined): string; encodeFunctionData(functionFragment: "changeProtocolExternalFeesCollector", values: [string]): string; encodeFunctionData(functionFragment: "depositAsset", values: [Assets.AssetStruct, string]): string; encodeFunctionData(functionFragment: "getContract", values: [BytesLike]): string; encodeFunctionData(functionFragment: "handleExternalERC20Reward", values: [ Listings.ListingStruct, Rentings.AgreementStruct, ERC20RewardDistributionHelper.RentalExternalERC20RewardFeesStruct ]): string; encodeFunctionData(functionFragment: "handleRentalPayment", values: [ Rentings.ParamsStruct, Rentings.RentalFeesStruct, string, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "initialize", values: [Metahub.MetahubInitParamsStruct]): string; encodeFunctionData(functionFragment: "protocolBalance", values: [string]): string; encodeFunctionData(functionFragment: "protocolBalances", values?: undefined): string; encodeFunctionData(functionFragment: "protocolExternalFeesCollector", values?: undefined): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "registerAsset", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "registerContract", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "supportedAssetCount", values?: undefined): string; encodeFunctionData(functionFragment: "supportedAssets", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "universeBalance", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "universeBalances", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; encodeFunctionData(functionFragment: "withdrawAsset", values: [Assets.AssetStruct]): string; encodeFunctionData(functionFragment: "withdrawFunds", values: [string, BigNumberish, string]): string; encodeFunctionData(functionFragment: "withdrawProtocolFunds", values: [string, BigNumberish, string]): string; encodeFunctionData(functionFragment: "withdrawUniverseFunds", values: [BigNumberish, string, BigNumberish, string]): string; decodeFunctionResult(functionFragment: "assetClassController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balances", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseTokenDecimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeProtocolExternalFeesCollector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getContract", data: BytesLike): Result; decodeFunctionResult(functionFragment: "handleExternalERC20Reward", data: BytesLike): Result; decodeFunctionResult(functionFragment: "handleRentalPayment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "protocolBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "protocolBalances", data: BytesLike): Result; decodeFunctionResult(functionFragment: "protocolExternalFeesCollector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerContract", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportedAssetCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportedAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "universeBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "universeBalances", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawProtocolFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawUniverseFunds", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "ContractRegistered(bytes4,address)": EventFragment; "Initialized(uint8)": EventFragment; "ProtocolEarned(uint8,address,uint256)": EventFragment; "ProtocolExternalFeesCollectorChanged(address,address)": EventFragment; "UniverseEarned(uint256,uint8,address,uint256)": EventFragment; "Upgraded(address)": EventFragment; "UserEarned(address,uint8,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "ContractRegistered"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProtocolEarned"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProtocolExternalFeesCollectorChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "UniverseEarned"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "UserEarned"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export declare type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export declare type AdminChangedEventFilter = TypedEventFilter; export interface BeaconUpgradedEventObject { beacon: string; } export declare type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export declare type BeaconUpgradedEventFilter = TypedEventFilter; export interface ContractRegisteredEventObject { contractKey: string; contractAddress: string; } export declare type ContractRegisteredEvent = TypedEvent<[ string, string ], ContractRegisteredEventObject>; export declare type ContractRegisteredEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export declare type InitializedEventFilter = TypedEventFilter; export interface ProtocolEarnedEventObject { earningType: number; paymentToken: string; amount: BigNumber; } export declare type ProtocolEarnedEvent = TypedEvent<[ number, string, BigNumber ], ProtocolEarnedEventObject>; export declare type ProtocolEarnedEventFilter = TypedEventFilter; export interface ProtocolExternalFeesCollectorChangedEventObject { oldCollector: string; newCollector: string; } export declare type ProtocolExternalFeesCollectorChangedEvent = TypedEvent<[ string, string ], ProtocolExternalFeesCollectorChangedEventObject>; export declare type ProtocolExternalFeesCollectorChangedEventFilter = TypedEventFilter; export interface UniverseEarnedEventObject { universeId: BigNumber; earningType: number; paymentToken: string; amount: BigNumber; } export declare type UniverseEarnedEvent = TypedEvent<[ BigNumber, number, string, BigNumber ], UniverseEarnedEventObject>; export declare type UniverseEarnedEventFilter = TypedEventFilter; export interface UpgradedEventObject { implementation: string; } export declare type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export declare type UpgradedEventFilter = TypedEventFilter; export interface UserEarnedEventObject { user: string; earningType: number; paymentToken: string; amount: BigNumber; } export declare type UserEarnedEvent = TypedEvent<[ string, number, string, BigNumber ], UserEarnedEventObject>; export declare type UserEarnedEventFilter = TypedEventFilter; export interface MetahubV2Mock extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: MetahubV2MockInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { assetClassController(assetClass: BytesLike, overrides?: CallOverrides): Promise<[string]>; balance(account: string, token: string, overrides?: CallOverrides): Promise<[BigNumber]>; balances(account: string, overrides?: CallOverrides): Promise<[Accounts.BalanceStructOutput[]]>; baseToken(overrides?: CallOverrides): Promise<[string]>; baseTokenDecimals(overrides?: CallOverrides): Promise<[number]>; changeProtocolExternalFeesCollector(newProtocolExternalFeesCollector: string, overrides?: Overrides & { from?: string | Promise; }): Promise; depositAsset(asset: Assets.AssetStruct, from: string, overrides?: Overrides & { from?: string | Promise; }): Promise; getContract(contractKey: BytesLike, overrides?: CallOverrides): Promise<[string]>; handleExternalERC20Reward(listing: Listings.ListingStruct, agreement: Rentings.AgreementStruct, rentalExternalERC20RewardFees: ERC20RewardDistributionHelper.RentalExternalERC20RewardFeesStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; handleRentalPayment(rentingParams: Rentings.ParamsStruct, fees: Rentings.RentalFeesStruct, payer: string, maxPaymentAmount: BigNumberish, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(params: Metahub.MetahubInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; protocolBalance(token: string, overrides?: CallOverrides): Promise<[BigNumber]>; protocolBalances(overrides?: CallOverrides): Promise<[Accounts.BalanceStructOutput[]]>; protocolExternalFeesCollector(overrides?: CallOverrides): Promise<[string]>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; registerAsset(assetClass: BytesLike, original: string, overrides?: Overrides & { from?: string | Promise; }): Promise; registerContract(contractKey: BytesLike, contractAddress: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportedAssetCount(overrides?: CallOverrides): Promise<[BigNumber]>; supportedAssets(offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise<[string[], Assets.AssetConfigStructOutput[]]>; universeBalance(universeId: BigNumberish, token: string, overrides?: CallOverrides): Promise<[BigNumber]>; universeBalances(universeId: BigNumberish, overrides?: CallOverrides): Promise<[Accounts.BalanceStructOutput[]]>; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; version(overrides?: CallOverrides): Promise<[string]>; withdrawAsset(asset: Assets.AssetStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawProtocolFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawUniverseFunds(universeId: BigNumberish, token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; }; assetClassController(assetClass: BytesLike, overrides?: CallOverrides): Promise; balance(account: string, token: string, overrides?: CallOverrides): Promise; balances(account: string, overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenDecimals(overrides?: CallOverrides): Promise; changeProtocolExternalFeesCollector(newProtocolExternalFeesCollector: string, overrides?: Overrides & { from?: string | Promise; }): Promise; depositAsset(asset: Assets.AssetStruct, from: string, overrides?: Overrides & { from?: string | Promise; }): Promise; getContract(contractKey: BytesLike, overrides?: CallOverrides): Promise; handleExternalERC20Reward(listing: Listings.ListingStruct, agreement: Rentings.AgreementStruct, rentalExternalERC20RewardFees: ERC20RewardDistributionHelper.RentalExternalERC20RewardFeesStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; handleRentalPayment(rentingParams: Rentings.ParamsStruct, fees: Rentings.RentalFeesStruct, payer: string, maxPaymentAmount: BigNumberish, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(params: Metahub.MetahubInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; protocolBalance(token: string, overrides?: CallOverrides): Promise; protocolBalances(overrides?: CallOverrides): Promise; protocolExternalFeesCollector(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; registerAsset(assetClass: BytesLike, original: string, overrides?: Overrides & { from?: string | Promise; }): Promise; registerContract(contractKey: BytesLike, contractAddress: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportedAssetCount(overrides?: CallOverrides): Promise; supportedAssets(offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise<[string[], Assets.AssetConfigStructOutput[]]>; universeBalance(universeId: BigNumberish, token: string, overrides?: CallOverrides): Promise; universeBalances(universeId: BigNumberish, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; version(overrides?: CallOverrides): Promise; withdrawAsset(asset: Assets.AssetStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawProtocolFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawUniverseFunds(universeId: BigNumberish, token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { assetClassController(assetClass: BytesLike, overrides?: CallOverrides): Promise; balance(account: string, token: string, overrides?: CallOverrides): Promise; balances(account: string, overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenDecimals(overrides?: CallOverrides): Promise; changeProtocolExternalFeesCollector(newProtocolExternalFeesCollector: string, overrides?: CallOverrides): Promise; depositAsset(asset: Assets.AssetStruct, from: string, overrides?: CallOverrides): Promise; getContract(contractKey: BytesLike, overrides?: CallOverrides): Promise; handleExternalERC20Reward(listing: Listings.ListingStruct, agreement: Rentings.AgreementStruct, rentalExternalERC20RewardFees: ERC20RewardDistributionHelper.RentalExternalERC20RewardFeesStruct, overrides?: CallOverrides): Promise; handleRentalPayment(rentingParams: Rentings.ParamsStruct, fees: Rentings.RentalFeesStruct, payer: string, maxPaymentAmount: BigNumberish, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, overrides?: CallOverrides): Promise<[ Accounts.RentalEarningsStructOutput, ITokenQuote.PaymentTokenDataStructOutput ] & { rentalFixedEarnings: Accounts.RentalEarningsStructOutput; paymentTokenData: ITokenQuote.PaymentTokenDataStructOutput; }>; initialize(params: Metahub.MetahubInitParamsStruct, overrides?: CallOverrides): Promise; protocolBalance(token: string, overrides?: CallOverrides): Promise; protocolBalances(overrides?: CallOverrides): Promise; protocolExternalFeesCollector(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; registerAsset(assetClass: BytesLike, original: string, overrides?: CallOverrides): Promise; registerContract(contractKey: BytesLike, contractAddress: string, overrides?: CallOverrides): Promise; supportedAssetCount(overrides?: CallOverrides): Promise; supportedAssets(offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise<[string[], Assets.AssetConfigStructOutput[]]>; universeBalance(universeId: BigNumberish, token: string, overrides?: CallOverrides): Promise; universeBalances(universeId: BigNumberish, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdrawAsset(asset: Assets.AssetStruct, overrides?: CallOverrides): Promise; withdrawFunds(token: string, amount: BigNumberish, to: string, overrides?: CallOverrides): Promise; withdrawProtocolFunds(token: string, amount: BigNumberish, to: string, overrides?: CallOverrides): Promise; withdrawUniverseFunds(universeId: BigNumberish, token: string, amount: BigNumberish, to: string, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "ContractRegistered(bytes4,address)"(contractKey?: null, contractAddress?: null): ContractRegisteredEventFilter; ContractRegistered(contractKey?: null, contractAddress?: null): ContractRegisteredEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "ProtocolEarned(uint8,address,uint256)"(earningType?: BigNumberish | null, paymentToken?: string | null, amount?: null): ProtocolEarnedEventFilter; ProtocolEarned(earningType?: BigNumberish | null, paymentToken?: string | null, amount?: null): ProtocolEarnedEventFilter; "ProtocolExternalFeesCollectorChanged(address,address)"(oldCollector?: null, newCollector?: null): ProtocolExternalFeesCollectorChangedEventFilter; ProtocolExternalFeesCollectorChanged(oldCollector?: null, newCollector?: null): ProtocolExternalFeesCollectorChangedEventFilter; "UniverseEarned(uint256,uint8,address,uint256)"(universeId?: BigNumberish | null, earningType?: BigNumberish | null, paymentToken?: string | null, amount?: null): UniverseEarnedEventFilter; UniverseEarned(universeId?: BigNumberish | null, earningType?: BigNumberish | null, paymentToken?: string | null, amount?: null): UniverseEarnedEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; "UserEarned(address,uint8,address,uint256)"(user?: string | null, earningType?: BigNumberish | null, paymentToken?: string | null, amount?: null): UserEarnedEventFilter; UserEarned(user?: string | null, earningType?: BigNumberish | null, paymentToken?: string | null, amount?: null): UserEarnedEventFilter; }; estimateGas: { assetClassController(assetClass: BytesLike, overrides?: CallOverrides): Promise; balance(account: string, token: string, overrides?: CallOverrides): Promise; balances(account: string, overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenDecimals(overrides?: CallOverrides): Promise; changeProtocolExternalFeesCollector(newProtocolExternalFeesCollector: string, overrides?: Overrides & { from?: string | Promise; }): Promise; depositAsset(asset: Assets.AssetStruct, from: string, overrides?: Overrides & { from?: string | Promise; }): Promise; getContract(contractKey: BytesLike, overrides?: CallOverrides): Promise; handleExternalERC20Reward(listing: Listings.ListingStruct, agreement: Rentings.AgreementStruct, rentalExternalERC20RewardFees: ERC20RewardDistributionHelper.RentalExternalERC20RewardFeesStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; handleRentalPayment(rentingParams: Rentings.ParamsStruct, fees: Rentings.RentalFeesStruct, payer: string, maxPaymentAmount: BigNumberish, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(params: Metahub.MetahubInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; protocolBalance(token: string, overrides?: CallOverrides): Promise; protocolBalances(overrides?: CallOverrides): Promise; protocolExternalFeesCollector(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; registerAsset(assetClass: BytesLike, original: string, overrides?: Overrides & { from?: string | Promise; }): Promise; registerContract(contractKey: BytesLike, contractAddress: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportedAssetCount(overrides?: CallOverrides): Promise; supportedAssets(offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise; universeBalance(universeId: BigNumberish, token: string, overrides?: CallOverrides): Promise; universeBalances(universeId: BigNumberish, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; version(overrides?: CallOverrides): Promise; withdrawAsset(asset: Assets.AssetStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawProtocolFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawUniverseFunds(universeId: BigNumberish, token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { assetClassController(assetClass: BytesLike, overrides?: CallOverrides): Promise; balance(account: string, token: string, overrides?: CallOverrides): Promise; balances(account: string, overrides?: CallOverrides): Promise; baseToken(overrides?: CallOverrides): Promise; baseTokenDecimals(overrides?: CallOverrides): Promise; changeProtocolExternalFeesCollector(newProtocolExternalFeesCollector: string, overrides?: Overrides & { from?: string | Promise; }): Promise; depositAsset(asset: Assets.AssetStruct, from: string, overrides?: Overrides & { from?: string | Promise; }): Promise; getContract(contractKey: BytesLike, overrides?: CallOverrides): Promise; handleExternalERC20Reward(listing: Listings.ListingStruct, agreement: Rentings.AgreementStruct, rentalExternalERC20RewardFees: ERC20RewardDistributionHelper.RentalExternalERC20RewardFeesStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; handleRentalPayment(rentingParams: Rentings.ParamsStruct, fees: Rentings.RentalFeesStruct, payer: string, maxPaymentAmount: BigNumberish, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; initialize(params: Metahub.MetahubInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; protocolBalance(token: string, overrides?: CallOverrides): Promise; protocolBalances(overrides?: CallOverrides): Promise; protocolExternalFeesCollector(overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; registerAsset(assetClass: BytesLike, original: string, overrides?: Overrides & { from?: string | Promise; }): Promise; registerContract(contractKey: BytesLike, contractAddress: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportedAssetCount(overrides?: CallOverrides): Promise; supportedAssets(offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise; universeBalance(universeId: BigNumberish, token: string, overrides?: CallOverrides): Promise; universeBalances(universeId: BigNumberish, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; version(overrides?: CallOverrides): Promise; withdrawAsset(asset: Assets.AssetStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawProtocolFunds(token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; withdrawUniverseFunds(universeId: BigNumberish, token: string, amount: BigNumberish, to: string, overrides?: Overrides & { from?: string | Promise; }): Promise; }; } //# sourceMappingURL=MetahubV2Mock.d.ts.map