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 IAssetClassRegistry { type ClassConfigStruct = { vault: string; controller: string; }; type ClassConfigStructOutput = [string, string] & { vault: string; controller: string; }; } export interface IAssetClassRegistryInterface extends utils.Interface { functions: { "assetClassConfig(bytes4)": FunctionFragment; "checkRegisteredAssetClass(bytes4)": FunctionFragment; "contractKey()": FunctionFragment; "isRegisteredAssetClass(bytes4)": FunctionFragment; "registerAssetClass(bytes4,(address,address))": FunctionFragment; "setAssetClassController(bytes4,address)": FunctionFragment; "setAssetClassVault(bytes4,address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "assetClassConfig" | "checkRegisteredAssetClass" | "contractKey" | "isRegisteredAssetClass" | "registerAssetClass" | "setAssetClassController" | "setAssetClassVault" | "supportsInterface"): FunctionFragment; encodeFunctionData(functionFragment: "assetClassConfig", values: [BytesLike]): string; encodeFunctionData(functionFragment: "checkRegisteredAssetClass", values: [BytesLike]): string; encodeFunctionData(functionFragment: "contractKey", values?: undefined): string; encodeFunctionData(functionFragment: "isRegisteredAssetClass", values: [BytesLike]): string; encodeFunctionData(functionFragment: "registerAssetClass", values: [BytesLike, IAssetClassRegistry.ClassConfigStruct]): string; encodeFunctionData(functionFragment: "setAssetClassController", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "setAssetClassVault", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "assetClassConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkRegisteredAssetClass", data: BytesLike): Result; decodeFunctionResult(functionFragment: "contractKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isRegisteredAssetClass", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerAssetClass", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetClassController", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetClassVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; events: { "AssetClassControllerChanged(bytes4,address)": EventFragment; "AssetClassRegistered(bytes4,address,address)": EventFragment; "AssetClassVaultChanged(bytes4,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AssetClassControllerChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetClassRegistered"): EventFragment; getEvent(nameOrSignatureOrTopic: "AssetClassVaultChanged"): EventFragment; } export interface AssetClassControllerChangedEventObject { assetClass: string; newController: string; } export declare type AssetClassControllerChangedEvent = TypedEvent<[ string, string ], AssetClassControllerChangedEventObject>; export declare type AssetClassControllerChangedEventFilter = TypedEventFilter; export interface AssetClassRegisteredEventObject { assetClass: string; controller: string; vault: string; } export declare type AssetClassRegisteredEvent = TypedEvent<[ string, string, string ], AssetClassRegisteredEventObject>; export declare type AssetClassRegisteredEventFilter = TypedEventFilter; export interface AssetClassVaultChangedEventObject { assetClass: string; newVault: string; } export declare type AssetClassVaultChangedEvent = TypedEvent<[ string, string ], AssetClassVaultChangedEventObject>; export declare type AssetClassVaultChangedEventFilter = TypedEventFilter; export interface IAssetClassRegistry extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IAssetClassRegistryInterface; 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: { assetClassConfig(assetClass: BytesLike, overrides?: CallOverrides): Promise<[IAssetClassRegistry.ClassConfigStructOutput]>; checkRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise<[void]>; contractKey(overrides?: CallOverrides): Promise<[string]>; isRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; registerAssetClass(assetClass: BytesLike, config: IAssetClassRegistry.ClassConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassController(assetClass: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassVault(assetClass: BytesLike, vault: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; }; assetClassConfig(assetClass: BytesLike, overrides?: CallOverrides): Promise; checkRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; registerAssetClass(assetClass: BytesLike, config: IAssetClassRegistry.ClassConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassController(assetClass: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassVault(assetClass: BytesLike, vault: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; callStatic: { assetClassConfig(assetClass: BytesLike, overrides?: CallOverrides): Promise; checkRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; registerAssetClass(assetClass: BytesLike, config: IAssetClassRegistry.ClassConfigStruct, overrides?: CallOverrides): Promise; setAssetClassController(assetClass: BytesLike, controller: string, overrides?: CallOverrides): Promise; setAssetClassVault(assetClass: BytesLike, vault: string, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "AssetClassControllerChanged(bytes4,address)"(assetClass?: BytesLike | null, newController?: string | null): AssetClassControllerChangedEventFilter; AssetClassControllerChanged(assetClass?: BytesLike | null, newController?: string | null): AssetClassControllerChangedEventFilter; "AssetClassRegistered(bytes4,address,address)"(assetClass?: BytesLike | null, controller?: string | null, vault?: string | null): AssetClassRegisteredEventFilter; AssetClassRegistered(assetClass?: BytesLike | null, controller?: string | null, vault?: string | null): AssetClassRegisteredEventFilter; "AssetClassVaultChanged(bytes4,address)"(assetClass?: BytesLike | null, newVault?: string | null): AssetClassVaultChangedEventFilter; AssetClassVaultChanged(assetClass?: BytesLike | null, newVault?: string | null): AssetClassVaultChangedEventFilter; }; estimateGas: { assetClassConfig(assetClass: BytesLike, overrides?: CallOverrides): Promise; checkRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; registerAssetClass(assetClass: BytesLike, config: IAssetClassRegistry.ClassConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassController(assetClass: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassVault(assetClass: BytesLike, vault: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; }; populateTransaction: { assetClassConfig(assetClass: BytesLike, overrides?: CallOverrides): Promise; checkRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; contractKey(overrides?: CallOverrides): Promise; isRegisteredAssetClass(assetClass: BytesLike, overrides?: CallOverrides): Promise; registerAssetClass(assetClass: BytesLike, config: IAssetClassRegistry.ClassConfigStruct, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassController(assetClass: BytesLike, controller: string, overrides?: Overrides & { from?: string | Promise; }): Promise; setAssetClassVault(assetClass: BytesLike, vault: string, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; }; } //# sourceMappingURL=IAssetClassRegistry.d.ts.map