import { BaseContract, BigNumber, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare type FacetStruct = { facetAddress: string; functionSelectors: BytesLike[]; }; export declare type FacetStructOutput = [string, string[]] & { facetAddress: string; functionSelectors: string[]; }; export interface IDiamondLoupeInterface extends utils.Interface { functions: { "facetAddress(bytes4)": FunctionFragment; "facetAddresses()": FunctionFragment; "facetFunctionSelectors(address)": FunctionFragment; "facets()": FunctionFragment; }; encodeFunctionData(functionFragment: "facetAddress", values: [BytesLike]): string; encodeFunctionData(functionFragment: "facetAddresses", values?: undefined): string; encodeFunctionData(functionFragment: "facetFunctionSelectors", values: [string]): string; encodeFunctionData(functionFragment: "facets", values?: undefined): string; decodeFunctionResult(functionFragment: "facetAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facetAddresses", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facetFunctionSelectors", data: BytesLike): Result; decodeFunctionResult(functionFragment: "facets", data: BytesLike): Result; events: {}; } export interface IDiamondLoupe extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IDiamondLoupeInterface; 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: { facetAddress(_functionSelector: BytesLike, overrides?: CallOverrides): Promise<[string] & { facetAddress_: string; }>; facetAddresses(overrides?: CallOverrides): Promise<[string[]] & { facetAddresses_: string[]; }>; facetFunctionSelectors(_facet: string, overrides?: CallOverrides): Promise<[string[]] & { facetFunctionSelectors_: string[]; }>; facets(overrides?: CallOverrides): Promise<[FacetStructOutput[]] & { facets_: FacetStructOutput[]; }>; }; facetAddress(_functionSelector: BytesLike, overrides?: CallOverrides): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors(_facet: string, overrides?: CallOverrides): Promise; facets(overrides?: CallOverrides): Promise; callStatic: { facetAddress(_functionSelector: BytesLike, overrides?: CallOverrides): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors(_facet: string, overrides?: CallOverrides): Promise; facets(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { facetAddress(_functionSelector: BytesLike, overrides?: CallOverrides): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors(_facet: string, overrides?: CallOverrides): Promise; facets(overrides?: CallOverrides): Promise; }; populateTransaction: { facetAddress(_functionSelector: BytesLike, overrides?: CallOverrides): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors(_facet: string, overrides?: CallOverrides): Promise; facets(overrides?: CallOverrides): Promise; }; }