import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../common"; export declare namespace IListingTermsRegistry { type ListingTermsStruct = { strategyId: BytesLike; strategyData: BytesLike; }; type ListingTermsStructOutput = [string, string] & { strategyId: string; strategyData: string; }; } export declare namespace Rentings { 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 Warpers { type WarperStruct = { assetClass: BytesLike; original: string; paused: boolean; controller: string; name: string; universeId: BigNumberish; }; type WarperStructOutput = [ string, string, boolean, string, string, BigNumber ] & { assetClass: string; original: string; paused: boolean; controller: string; name: string; universeId: BigNumber; }; } export declare namespace ITaxTermsRegistry { type TaxTermsStruct = { strategyId: BytesLike; strategyData: BytesLike; }; type TaxTermsStructOutput = [string, string] & { strategyId: string; strategyData: string; }; } export interface RentingsInterface extends utils.Interface { functions: { "calculateRentalFees((uint256,address,address,uint32,address,uint256,(bytes4,bytes)),(bytes4,address,bool,IWarperController,string,uint256),IMetahub)": FunctionFragment; "validateRentingParams((uint256,address,address,uint32,address,uint256,(bytes4,bytes)),IMetahub)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "calculateRentalFees" | "validateRentingParams"): FunctionFragment; encodeFunctionData(functionFragment: "calculateRentalFees", values: [Rentings.ParamsStruct, Warpers.WarperStruct, string]): string; encodeFunctionData(functionFragment: "validateRentingParams", values: [Rentings.ParamsStruct, string]): string; decodeFunctionResult(functionFragment: "calculateRentalFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validateRentingParams", data: BytesLike): Result; events: {}; } export interface Rentings extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: RentingsInterface; 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: { calculateRentalFees(rentingParams: Rentings.ParamsStruct, warper: Warpers.WarperStruct, metahub: string, overrides?: CallOverrides): Promise<[ Rentings.RentalFeesStructOutput ] & { fees: Rentings.RentalFeesStructOutput; }>; validateRentingParams(params: Rentings.ParamsStruct, metahub: string, overrides?: CallOverrides): Promise<[void]>; }; calculateRentalFees(rentingParams: Rentings.ParamsStruct, warper: Warpers.WarperStruct, metahub: string, overrides?: CallOverrides): Promise; validateRentingParams(params: Rentings.ParamsStruct, metahub: string, overrides?: CallOverrides): Promise; callStatic: { calculateRentalFees(rentingParams: Rentings.ParamsStruct, warper: Warpers.WarperStruct, metahub: string, overrides?: CallOverrides): Promise; validateRentingParams(params: Rentings.ParamsStruct, metahub: string, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { calculateRentalFees(rentingParams: Rentings.ParamsStruct, warper: Warpers.WarperStruct, metahub: string, overrides?: CallOverrides): Promise; validateRentingParams(params: Rentings.ParamsStruct, metahub: string, overrides?: CallOverrides): Promise; }; populateTransaction: { calculateRentalFees(rentingParams: Rentings.ParamsStruct, warper: Warpers.WarperStruct, metahub: string, overrides?: CallOverrides): Promise; validateRentingParams(params: Rentings.ParamsStruct, metahub: string, overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=Rentings.d.ts.map