import type { BaseContract, BigNumber, BigNumberish, 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 interface UniswapV3FactoryInterface extends utils.Interface { functions: { 'createPool(address,address,uint24)': FunctionFragment; 'enableFeeAmount(uint24,int24)': FunctionFragment; 'feeAmountTickSpacing(uint24)': FunctionFragment; 'getPool(address,address,uint24)': FunctionFragment; 'owner()': FunctionFragment; 'parameters()': FunctionFragment; 'setOwner(address)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'createPool' | 'enableFeeAmount' | 'feeAmountTickSpacing' | 'getPool' | 'owner' | 'parameters' | 'setOwner'): FunctionFragment; encodeFunctionData(functionFragment: 'createPool', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'enableFeeAmount', values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: 'feeAmountTickSpacing', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'getPool', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'owner', values?: undefined): string; encodeFunctionData(functionFragment: 'parameters', values?: undefined): string; encodeFunctionData(functionFragment: 'setOwner', values: [string]): string; decodeFunctionResult(functionFragment: 'createPool', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'enableFeeAmount', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'feeAmountTickSpacing', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'getPool', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'parameters', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'setOwner', data: BytesLike): Result; events: { 'FeeAmountEnabled(uint24,int24)': EventFragment; 'OwnerChanged(address,address)': EventFragment; 'PoolCreated(address,address,uint24,int24,address)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'FeeAmountEnabled'): EventFragment; getEvent(nameOrSignatureOrTopic: 'OwnerChanged'): EventFragment; getEvent(nameOrSignatureOrTopic: 'PoolCreated'): EventFragment; } export interface FeeAmountEnabledEventObject { fee: number; tickSpacing: number; } export type FeeAmountEnabledEvent = TypedEvent<[number, number], FeeAmountEnabledEventObject>; export type FeeAmountEnabledEventFilter = TypedEventFilter; export interface OwnerChangedEventObject { oldOwner: string; newOwner: string; } export type OwnerChangedEvent = TypedEvent<[string, string], OwnerChangedEventObject>; export type OwnerChangedEventFilter = TypedEventFilter; export interface PoolCreatedEventObject { token0: string; token1: string; fee: number; tickSpacing: number; pool: string; } export type PoolCreatedEvent = TypedEvent<[string, string, number, number, string], PoolCreatedEventObject>; export type PoolCreatedEventFilter = TypedEventFilter; export interface UniswapV3Factory extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: UniswapV3FactoryInterface; 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: { createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; feeAmountTickSpacing(arg0: BigNumberish, overrides?: CallOverrides): Promise<[number]>; getPool(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; parameters(overrides?: CallOverrides): Promise<[ string, string, string, number, number ] & { factory: string; token0: string; token1: string; fee: number; tickSpacing: number; }>; setOwner(_owner: string, overrides?: Overrides & { from?: string; }): Promise; }; createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; feeAmountTickSpacing(arg0: BigNumberish, overrides?: CallOverrides): Promise; getPool(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; parameters(overrides?: CallOverrides): Promise<[ string, string, string, number, number ] & { factory: string; token0: string; token1: string; fee: number; tickSpacing: number; }>; setOwner(_owner: string, overrides?: Overrides & { from?: string; }): Promise; callStatic: { createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: CallOverrides): Promise; enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: CallOverrides): Promise; feeAmountTickSpacing(arg0: BigNumberish, overrides?: CallOverrides): Promise; getPool(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; parameters(overrides?: CallOverrides): Promise<[ string, string, string, number, number ] & { factory: string; token0: string; token1: string; fee: number; tickSpacing: number; }>; setOwner(_owner: string, overrides?: CallOverrides): Promise; }; filters: { 'FeeAmountEnabled(uint24,int24)'(fee?: BigNumberish | null, tickSpacing?: BigNumberish | null): FeeAmountEnabledEventFilter; FeeAmountEnabled(fee?: BigNumberish | null, tickSpacing?: BigNumberish | null): FeeAmountEnabledEventFilter; 'OwnerChanged(address,address)'(oldOwner?: string | null, newOwner?: string | null): OwnerChangedEventFilter; OwnerChanged(oldOwner?: string | null, newOwner?: string | null): OwnerChangedEventFilter; 'PoolCreated(address,address,uint24,int24,address)'(token0?: string | null, token1?: string | null, fee?: BigNumberish | null, tickSpacing?: null, pool?: null): PoolCreatedEventFilter; PoolCreated(token0?: string | null, token1?: string | null, fee?: BigNumberish | null, tickSpacing?: null, pool?: null): PoolCreatedEventFilter; }; estimateGas: { createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; feeAmountTickSpacing(arg0: BigNumberish, overrides?: CallOverrides): Promise; getPool(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; parameters(overrides?: CallOverrides): Promise; setOwner(_owner: string, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { createPool(tokenA: string, tokenB: string, fee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; enableFeeAmount(fee: BigNumberish, tickSpacing: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; feeAmountTickSpacing(arg0: BigNumberish, overrides?: CallOverrides): Promise; getPool(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; parameters(overrides?: CallOverrides): Promise; setOwner(_owner: string, overrides?: Overrides & { from?: string; }): Promise; }; }