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 ITaxTermsRegistry { type ParamsStruct = { taxStrategyId: BytesLike; universeId: BigNumberish; warperAddress: string; }; type ParamsStructOutput = [string, BigNumber, string] & { taxStrategyId: string; universeId: BigNumber; warperAddress: string; }; type TaxTermsStruct = { strategyId: BytesLike; strategyData: BytesLike; }; type TaxTermsStructOutput = [string, string] & { strategyId: string; strategyData: string; }; } 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; }; } export interface TaxControllerInterface extends utils.Interface { functions: { "HUNDRED_PERCENT()": FunctionFragment; "calculateRentalTax((bytes4,uint256,address),(uint256,address,address,uint32,address,uint256,(bytes4,bytes)),uint256)": FunctionFragment; "contractKey()": FunctionFragment; "strategyId()": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "HUNDRED_PERCENT" | "calculateRentalTax" | "contractKey" | "strategyId" | "supportsInterface"): FunctionFragment; encodeFunctionData(functionFragment: "HUNDRED_PERCENT", values?: undefined): string; encodeFunctionData(functionFragment: "calculateRentalTax", values: [ ITaxTermsRegistry.ParamsStruct, Rentings.ParamsStruct, BigNumberish ]): string; encodeFunctionData(functionFragment: "contractKey", values?: undefined): string; encodeFunctionData(functionFragment: "strategyId", values?: undefined): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "HUNDRED_PERCENT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "calculateRentalTax", data: BytesLike): Result; decodeFunctionResult(functionFragment: "contractKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "strategyId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; events: {}; } export interface TaxController extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: TaxControllerInterface; 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: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise<[number]>; calculateRentalTax(taxTermsParams: ITaxTermsRegistry.ParamsStruct, rentingParams: Rentings.ParamsStruct, taxableAmount: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, ITaxTermsRegistry.TaxTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput ] & { universeBaseTax: BigNumber; protocolBaseTax: BigNumber; universeTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; }>; contractKey(overrides?: CallOverrides): Promise<[string]>; strategyId(overrides?: CallOverrides): Promise<[string]>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; }; HUNDRED_PERCENT(overrides?: CallOverrides): Promise; calculateRentalTax(taxTermsParams: ITaxTermsRegistry.ParamsStruct, rentingParams: Rentings.ParamsStruct, taxableAmount: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, ITaxTermsRegistry.TaxTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput ] & { universeBaseTax: BigNumber; protocolBaseTax: BigNumber; universeTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; }>; contractKey(overrides?: CallOverrides): Promise; strategyId(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; callStatic: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise; calculateRentalTax(taxTermsParams: ITaxTermsRegistry.ParamsStruct, rentingParams: Rentings.ParamsStruct, taxableAmount: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, ITaxTermsRegistry.TaxTermsStructOutput, ITaxTermsRegistry.TaxTermsStructOutput ] & { universeBaseTax: BigNumber; protocolBaseTax: BigNumber; universeTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; protocolTaxTerms: ITaxTermsRegistry.TaxTermsStructOutput; }>; contractKey(overrides?: CallOverrides): Promise; strategyId(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise; calculateRentalTax(taxTermsParams: ITaxTermsRegistry.ParamsStruct, rentingParams: Rentings.ParamsStruct, taxableAmount: BigNumberish, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; strategyId(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; }; populateTransaction: { HUNDRED_PERCENT(overrides?: CallOverrides): Promise; calculateRentalTax(taxTermsParams: ITaxTermsRegistry.ParamsStruct, rentingParams: Rentings.ParamsStruct, taxableAmount: BigNumberish, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; strategyId(overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=TaxController.d.ts.map