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 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; }; } 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; }; 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; }; } export declare namespace ITaxTermsRegistry { type TaxTermsStruct = { strategyId: BytesLike; strategyData: BytesLike; }; type TaxTermsStructOutput = [string, string] & { strategyId: string; strategyData: string; }; } export declare namespace RentingManager { type RentingManagerInitParamsStruct = { acl: string; metahub: string; }; type RentingManagerInitParamsStructOutput = [string, string] & { acl: string; metahub: string; }; } export declare namespace ITokenQuote { type PaymentTokenDataStruct = { paymentToken: string; paymentTokenQuote: BigNumberish; }; type PaymentTokenDataStructOutput = [string, BigNumber] & { paymentToken: string; paymentTokenQuote: BigNumber; }; } export interface RentingManagerInterface extends utils.Interface { functions: { "assetRentalStatus((bytes4,bytes))": FunctionFragment; "collectionRentedValue(bytes32,address)": FunctionFragment; "contractKey()": FunctionFragment; "estimateRent((uint256,address,address,uint32,address,uint256,(bytes4,bytes)))": FunctionFragment; "initialize((address,address))": FunctionFragment; "proxiableUUID()": FunctionFragment; "rent((uint256,address,address,uint32,address,uint256,(bytes4,bytes)),bytes,bytes,uint256)": FunctionFragment; "rentalAgreementInfo(uint256)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "userRentalAgreements(address,uint256,uint256)": FunctionFragment; "userRentalCount(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "assetRentalStatus" | "collectionRentedValue" | "contractKey" | "estimateRent" | "initialize" | "proxiableUUID" | "rent" | "rentalAgreementInfo" | "supportsInterface" | "upgradeTo" | "upgradeToAndCall" | "userRentalAgreements" | "userRentalCount"): FunctionFragment; encodeFunctionData(functionFragment: "assetRentalStatus", values: [Assets.AssetIdStruct]): string; encodeFunctionData(functionFragment: "collectionRentedValue", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "contractKey", values?: undefined): string; encodeFunctionData(functionFragment: "estimateRent", values: [Rentings.ParamsStruct]): string; encodeFunctionData(functionFragment: "initialize", values: [RentingManager.RentingManagerInitParamsStruct]): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "rent", values: [Rentings.ParamsStruct, BytesLike, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "rentalAgreementInfo", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "userRentalAgreements", values: [string, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "userRentalCount", values: [string]): string; decodeFunctionResult(functionFragment: "assetRentalStatus", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collectionRentedValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "contractKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "estimateRent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rentalAgreementInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userRentalAgreements", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userRentalCount", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "AssetRented(uint256,address,uint256,tuple[],uint32,uint32)": EventFragment; "BeaconUpgraded(address)": EventFragment; "Initialized(uint8)": EventFragment; "Upgraded(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetRented"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export declare type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export declare type AdminChangedEventFilter = TypedEventFilter; export interface AssetRentedEventObject { rentalId: BigNumber; renter: string; listingId: BigNumber; warpedAssets: Assets.AssetStructOutput[]; startTime: number; endTime: number; } export declare type AssetRentedEvent = TypedEvent<[ BigNumber, string, BigNumber, Assets.AssetStructOutput[], number, number ], AssetRentedEventObject>; export declare type AssetRentedEventFilter = TypedEventFilter; export interface BeaconUpgradedEventObject { beacon: string; } export declare type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export declare type BeaconUpgradedEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export declare type InitializedEventFilter = TypedEventFilter; export interface UpgradedEventObject { implementation: string; } export declare type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export declare type UpgradedEventFilter = TypedEventFilter; export interface RentingManager extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: RentingManagerInterface; 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: { assetRentalStatus(warpedAssetId: Assets.AssetIdStruct, overrides?: CallOverrides): Promise<[number]>; collectionRentedValue(warpedCollectionId: BytesLike, renter: string, overrides?: CallOverrides): Promise<[BigNumber]>; contractKey(overrides?: CallOverrides): Promise<[string]>; estimateRent(rentingParams: Rentings.ParamsStruct, overrides?: CallOverrides): Promise<[Rentings.RentalFeesStructOutput]>; initialize(params: RentingManager.RentingManagerInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; rent(rentingParams: Rentings.ParamsStruct, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, maxPaymentAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; rentalAgreementInfo(rentalId: BigNumberish, overrides?: CallOverrides): Promise<[Rentings.AgreementStructOutput]>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; userRentalAgreements(renter: string, offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber[], Rentings.AgreementStructOutput[]]>; userRentalCount(renter: string, overrides?: CallOverrides): Promise<[BigNumber]>; }; assetRentalStatus(warpedAssetId: Assets.AssetIdStruct, overrides?: CallOverrides): Promise; collectionRentedValue(warpedCollectionId: BytesLike, renter: string, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; estimateRent(rentingParams: Rentings.ParamsStruct, overrides?: CallOverrides): Promise; initialize(params: RentingManager.RentingManagerInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise; rent(rentingParams: Rentings.ParamsStruct, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, maxPaymentAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; rentalAgreementInfo(rentalId: BigNumberish, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; userRentalAgreements(renter: string, offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber[], Rentings.AgreementStructOutput[]]>; userRentalCount(renter: string, overrides?: CallOverrides): Promise; callStatic: { assetRentalStatus(warpedAssetId: Assets.AssetIdStruct, overrides?: CallOverrides): Promise; collectionRentedValue(warpedCollectionId: BytesLike, renter: string, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; estimateRent(rentingParams: Rentings.ParamsStruct, overrides?: CallOverrides): Promise; initialize(params: RentingManager.RentingManagerInitParamsStruct, overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; rent(rentingParams: Rentings.ParamsStruct, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, maxPaymentAmount: BigNumberish, overrides?: CallOverrides): Promise; rentalAgreementInfo(rentalId: BigNumberish, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; userRentalAgreements(renter: string, offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber[], Rentings.AgreementStructOutput[]]>; userRentalCount(renter: string, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "AssetRented(uint256,address,uint256,tuple[],uint32,uint32)"(rentalId?: BigNumberish | null, renter?: string | null, listingId?: BigNumberish | null, warpedAssets?: null, startTime?: null, endTime?: null): AssetRentedEventFilter; AssetRented(rentalId?: BigNumberish | null, renter?: string | null, listingId?: BigNumberish | null, warpedAssets?: null, startTime?: null, endTime?: null): AssetRentedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; }; estimateGas: { assetRentalStatus(warpedAssetId: Assets.AssetIdStruct, overrides?: CallOverrides): Promise; collectionRentedValue(warpedCollectionId: BytesLike, renter: string, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; estimateRent(rentingParams: Rentings.ParamsStruct, overrides?: CallOverrides): Promise; initialize(params: RentingManager.RentingManagerInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise; rent(rentingParams: Rentings.ParamsStruct, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, maxPaymentAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; rentalAgreementInfo(rentalId: BigNumberish, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; userRentalAgreements(renter: string, offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise; userRentalCount(renter: string, overrides?: CallOverrides): Promise; }; populateTransaction: { assetRentalStatus(warpedAssetId: Assets.AssetIdStruct, overrides?: CallOverrides): Promise; collectionRentedValue(warpedCollectionId: BytesLike, renter: string, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; estimateRent(rentingParams: Rentings.ParamsStruct, overrides?: CallOverrides): Promise; initialize(params: RentingManager.RentingManagerInitParamsStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise; rent(rentingParams: Rentings.ParamsStruct, tokenQuote: BytesLike, tokenQuoteSignature: BytesLike, maxPaymentAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; rentalAgreementInfo(rentalId: BigNumberish, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string | Promise; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; userRentalAgreements(renter: string, offset: BigNumberish, limit: BigNumberish, overrides?: CallOverrides): Promise; userRentalCount(renter: string, overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=RentingManager.d.ts.map