import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 interface RegistrationV2Interface extends utils.Interface { functions: { "getVersion()": FunctionFragment; "imx()": FunctionFragment; "isRegistered(uint256)": FunctionFragment; "registerAndWithdrawAll(address,uint256,bytes,uint256)": FunctionFragment; "registerAndWithdrawNft(address,uint256,bytes,uint256,uint256)": FunctionFragment; "registerWithdrawAndMint(address,uint256,bytes,uint256,bytes)": FunctionFragment; "withdrawAll(uint256,uint256,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getVersion" | "imx" | "isRegistered" | "registerAndWithdrawAll" | "registerAndWithdrawNft" | "registerWithdrawAndMint" | "withdrawAll"): FunctionFragment; encodeFunctionData(functionFragment: "getVersion", values?: undefined): string; encodeFunctionData(functionFragment: "imx", values?: undefined): string; encodeFunctionData(functionFragment: "isRegistered", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "registerAndWithdrawAll", values: [string, BigNumberish, BytesLike, BigNumberish]): string; encodeFunctionData(functionFragment: "registerAndWithdrawNft", values: [string, BigNumberish, BytesLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "registerWithdrawAndMint", values: [string, BigNumberish, BytesLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "withdrawAll", values: [BigNumberish, BigNumberish, BigNumberish]): string; decodeFunctionResult(functionFragment: "getVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "imx", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isRegistered", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerAndWithdrawAll", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerAndWithdrawNft", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerWithdrawAndMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawAll", data: BytesLike): Result; events: {}; } export interface RegistrationV2 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: RegistrationV2Interface; 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: { getVersion(overrides?: CallOverrides): Promise<[string]>; imx(overrides?: CallOverrides): Promise<[string]>; isRegistered(starkKey: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>; registerAndWithdrawAll(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerAndWithdrawNft(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, tokenId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerWithdrawAndMint(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, mintingBlob: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAll(ethKey: BigNumberish, starkKey: BigNumberish, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; getVersion(overrides?: CallOverrides): Promise; imx(overrides?: CallOverrides): Promise; isRegistered(starkKey: BigNumberish, overrides?: CallOverrides): Promise; registerAndWithdrawAll(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerAndWithdrawNft(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, tokenId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerWithdrawAndMint(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, mintingBlob: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAll(ethKey: BigNumberish, starkKey: BigNumberish, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { getVersion(overrides?: CallOverrides): Promise; imx(overrides?: CallOverrides): Promise; isRegistered(starkKey: BigNumberish, overrides?: CallOverrides): Promise; registerAndWithdrawAll(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, overrides?: CallOverrides): Promise; registerAndWithdrawNft(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, tokenId: BigNumberish, overrides?: CallOverrides): Promise; registerWithdrawAndMint(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, mintingBlob: BytesLike, overrides?: CallOverrides): Promise; withdrawAll(ethKey: BigNumberish, starkKey: BigNumberish, assetType: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { getVersion(overrides?: CallOverrides): Promise; imx(overrides?: CallOverrides): Promise; isRegistered(starkKey: BigNumberish, overrides?: CallOverrides): Promise; registerAndWithdrawAll(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerAndWithdrawNft(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, tokenId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerWithdrawAndMint(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, mintingBlob: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAll(ethKey: BigNumberish, starkKey: BigNumberish, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { getVersion(overrides?: CallOverrides): Promise; imx(overrides?: CallOverrides): Promise; isRegistered(starkKey: BigNumberish, overrides?: CallOverrides): Promise; registerAndWithdrawAll(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerAndWithdrawNft(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, tokenId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; registerWithdrawAndMint(ethKey: string, starkKey: BigNumberish, signature: BytesLike, assetType: BigNumberish, mintingBlob: BytesLike, overrides?: Overrides & { from?: string; }): Promise; withdrawAll(ethKey: BigNumberish, starkKey: BigNumberish, assetType: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }