import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; export declare namespace IV3Migrator { type MigrateParamsStruct = { pair: AddressLike; liquidityToMigrate: BigNumberish; percentageToMigrate: BigNumberish; token0: AddressLike; token1: AddressLike; fee: BigNumberish; tickLower: BigNumberish; tickUpper: BigNumberish; amount0Min: BigNumberish; amount1Min: BigNumberish; recipient: AddressLike; deadline: BigNumberish; refundAsETH: boolean; }; type MigrateParamsStructOutput = [ pair: string, liquidityToMigrate: bigint, percentageToMigrate: bigint, token0: string, token1: string, fee: bigint, tickLower: bigint, tickUpper: bigint, amount0Min: bigint, amount1Min: bigint, recipient: string, deadline: bigint, refundAsETH: boolean ] & { pair: string; liquidityToMigrate: bigint; percentageToMigrate: bigint; token0: string; token1: string; fee: bigint; tickLower: bigint; tickUpper: bigint; amount0Min: bigint; amount1Min: bigint; recipient: string; deadline: bigint; refundAsETH: boolean; }; } export interface UniswapV3MigratorInterface extends Interface { getFunction(nameOrSignature: "WETH9" | "createAndInitializePoolIfNecessary" | "factory" | "migrate" | "multicall" | "nonfungiblePositionManager" | "selfPermit" | "selfPermitAllowed" | "selfPermitAllowedIfNecessary" | "selfPermitIfNecessary"): FunctionFragment; encodeFunctionData(functionFragment: "WETH9", values?: undefined): string; encodeFunctionData(functionFragment: "createAndInitializePoolIfNecessary", values: [AddressLike, AddressLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "migrate", values: [IV3Migrator.MigrateParamsStruct]): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "nonfungiblePositionManager", values?: undefined): string; encodeFunctionData(functionFragment: "selfPermit", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "selfPermitAllowed", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "selfPermitAllowedIfNecessary", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "selfPermitIfNecessary", values: [ AddressLike, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; decodeFunctionResult(functionFragment: "WETH9", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createAndInitializePoolIfNecessary", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonfungiblePositionManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "selfPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "selfPermitAllowed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "selfPermitAllowedIfNecessary", data: BytesLike): Result; decodeFunctionResult(functionFragment: "selfPermitIfNecessary", data: BytesLike): Result; } export interface UniswapV3Migrator extends BaseContract { connect(runner?: ContractRunner | null): UniswapV3Migrator; waitForDeployment(): Promise; interface: UniswapV3MigratorInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; WETH9: TypedContractMethod<[], [string], "view">; createAndInitializePoolIfNecessary: TypedContractMethod<[ token0: AddressLike, token1: AddressLike, fee: BigNumberish, sqrtPriceX96: BigNumberish ], [ string ], "payable">; factory: TypedContractMethod<[], [string], "view">; migrate: TypedContractMethod<[ params: IV3Migrator.MigrateParamsStruct ], [ void ], "nonpayable">; multicall: TypedContractMethod<[data: BytesLike[]], [string[]], "payable">; nonfungiblePositionManager: TypedContractMethod<[], [string], "view">; selfPermit: TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; selfPermitAllowed: TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; selfPermitAllowedIfNecessary: TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; selfPermitIfNecessary: TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "WETH9"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "createAndInitializePoolIfNecessary"): TypedContractMethod<[ token0: AddressLike, token1: AddressLike, fee: BigNumberish, sqrtPriceX96: BigNumberish ], [ string ], "payable">; getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "migrate"): TypedContractMethod<[ params: IV3Migrator.MigrateParamsStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "multicall"): TypedContractMethod<[data: BytesLike[]], [string[]], "payable">; getFunction(nameOrSignature: "nonfungiblePositionManager"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "selfPermit"): TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "selfPermitAllowed"): TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "selfPermitAllowedIfNecessary"): TypedContractMethod<[ token: AddressLike, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "selfPermitIfNecessary"): TypedContractMethod<[ token: AddressLike, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike ], [ void ], "payable">; filters: {}; }