import type { BaseContract, BigNumber, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 ITaxStrategyRegistry { type TaxStrategyConfigStruct = { controller: string; }; type TaxStrategyConfigStructOutput = [string] & { controller: string; }; } export interface ITaxStrategyRegistryInterface extends utils.Interface { functions: { "checkRegisteredTaxStrategy(bytes4)": FunctionFragment; "contractKey()": FunctionFragment; "isRegisteredTaxStrategy(bytes4)": FunctionFragment; "registerTaxStrategy(bytes4,(address))": FunctionFragment; "setTaxController(bytes4,address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "taxController(bytes4)": FunctionFragment; "taxStrategy(bytes4)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "checkRegisteredTaxStrategy" | "contractKey" | "isRegisteredTaxStrategy" | "registerTaxStrategy" | "setTaxController" | "supportsInterface" | "taxController" | "taxStrategy"): FunctionFragment; encodeFunctionData(functionFragment: "checkRegisteredTaxStrategy", values: [BytesLike]): string; encodeFunctionData(functionFragment: "contractKey", values?: undefined): string; encodeFunctionData(functionFragment: "isRegisteredTaxStrategy", values: [BytesLike]): string; encodeFunctionData(functionFragment: "registerTaxStrategy", values: [BytesLike, ITaxStrategyRegistry.TaxStrategyConfigStruct]): string; encodeFunctionData(functionFragment: "setTaxController", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "taxController", values: [BytesLike]): string; encodeFunctionData(functionFragment: "taxStrategy", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "checkRegisteredTaxStrategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "contractKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isRegisteredTaxStrategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerTaxStrategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTaxController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "taxController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "taxStrategy", data: BytesLike): Result; events: { "TaxStrategyControllerChanged(bytes4,address)": EventFragment; "TaxStrategyRegistered(bytes4,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "TaxStrategyControllerChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "TaxStrategyRegistered"): EventFragment; } export interface TaxStrategyControllerChangedEventObject { taxStrategyId: string; newController: string; } export declare type TaxStrategyControllerChangedEvent = TypedEvent<[ string, string ], TaxStrategyControllerChangedEventObject>; export declare type TaxStrategyControllerChangedEventFilter = TypedEventFilter; export interface TaxStrategyRegisteredEventObject { taxStrategyId: string; controller: string; } export declare type TaxStrategyRegisteredEvent = TypedEvent<[ string, string ], TaxStrategyRegisteredEventObject>; export declare type TaxStrategyRegisteredEventFilter = TypedEventFilter; export interface ITaxStrategyRegistry extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ITaxStrategyRegistryInterface; 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: { checkRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise<[void]>; contractKey(overrides?: CallOverrides): Promise<[string]>; isRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; registerTaxStrategy(taxStrategyId: BytesLike, config: ITaxStrategyRegistry.TaxStrategyConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setTaxController(taxStrategyId: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; taxController(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise<[string]>; taxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise<[ITaxStrategyRegistry.TaxStrategyConfigStructOutput]>; }; checkRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; registerTaxStrategy(taxStrategyId: BytesLike, config: ITaxStrategyRegistry.TaxStrategyConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setTaxController(taxStrategyId: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; taxController(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; taxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; callStatic: { checkRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; registerTaxStrategy(taxStrategyId: BytesLike, config: ITaxStrategyRegistry.TaxStrategyConfigStruct, overrides?: CallOverrides): Promise; setTaxController(taxStrategyId: BytesLike, controller: string, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; taxController(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; taxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "TaxStrategyControllerChanged(bytes4,address)"(taxStrategyId?: BytesLike | null, newController?: string | null): TaxStrategyControllerChangedEventFilter; TaxStrategyControllerChanged(taxStrategyId?: BytesLike | null, newController?: string | null): TaxStrategyControllerChangedEventFilter; "TaxStrategyRegistered(bytes4,address)"(taxStrategyId?: BytesLike | null, controller?: string | null): TaxStrategyRegisteredEventFilter; TaxStrategyRegistered(taxStrategyId?: BytesLike | null, controller?: string | null): TaxStrategyRegisteredEventFilter; }; estimateGas: { checkRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; registerTaxStrategy(taxStrategyId: BytesLike, config: ITaxStrategyRegistry.TaxStrategyConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setTaxController(taxStrategyId: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; taxController(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; taxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; }; populateTransaction: { checkRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredTaxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; registerTaxStrategy(taxStrategyId: BytesLike, config: ITaxStrategyRegistry.TaxStrategyConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setTaxController(taxStrategyId: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; taxController(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; taxStrategy(taxStrategyId: BytesLike, overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=ITaxStrategyRegistry.d.ts.map