import type { BaseContract, BigNumberish, FunctionFragment, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener } from "./common"; export interface IUniswapV3PoolEventsInterface extends Interface { getEvent(nameOrSignatureOrTopic: "Burn" | "Collect" | "CollectProtocol" | "Flash" | "IncreaseObservationCardinalityNext" | "Initialize" | "Mint" | "SetFeeProtocol" | "Swap"): EventFragment; } export declare namespace BurnEvent { type InputTuple = [ owner: AddressLike, tickLower: BigNumberish, tickUpper: BigNumberish, amount: BigNumberish, amount0: BigNumberish, amount1: BigNumberish ]; type OutputTuple = [ owner: string, tickLower: bigint, tickUpper: bigint, amount: bigint, amount0: bigint, amount1: bigint ]; interface OutputObject { owner: string; tickLower: bigint; tickUpper: bigint; amount: bigint; amount0: bigint; amount1: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace CollectEvent { type InputTuple = [ owner: AddressLike, recipient: AddressLike, tickLower: BigNumberish, tickUpper: BigNumberish, amount0: BigNumberish, amount1: BigNumberish ]; type OutputTuple = [ owner: string, recipient: string, tickLower: bigint, tickUpper: bigint, amount0: bigint, amount1: bigint ]; interface OutputObject { owner: string; recipient: string; tickLower: bigint; tickUpper: bigint; amount0: bigint; amount1: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace CollectProtocolEvent { type InputTuple = [ sender: AddressLike, recipient: AddressLike, amount0: BigNumberish, amount1: BigNumberish ]; type OutputTuple = [ sender: string, recipient: string, amount0: bigint, amount1: bigint ]; interface OutputObject { sender: string; recipient: string; amount0: bigint; amount1: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FlashEvent { type InputTuple = [ sender: AddressLike, recipient: AddressLike, amount0: BigNumberish, amount1: BigNumberish, paid0: BigNumberish, paid1: BigNumberish ]; type OutputTuple = [ sender: string, recipient: string, amount0: bigint, amount1: bigint, paid0: bigint, paid1: bigint ]; interface OutputObject { sender: string; recipient: string; amount0: bigint; amount1: bigint; paid0: bigint; paid1: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace IncreaseObservationCardinalityNextEvent { type InputTuple = [ observationCardinalityNextOld: BigNumberish, observationCardinalityNextNew: BigNumberish ]; type OutputTuple = [ observationCardinalityNextOld: bigint, observationCardinalityNextNew: bigint ]; interface OutputObject { observationCardinalityNextOld: bigint; observationCardinalityNextNew: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace InitializeEvent { type InputTuple = [sqrtPriceX96: BigNumberish, tick: BigNumberish]; type OutputTuple = [sqrtPriceX96: bigint, tick: bigint]; interface OutputObject { sqrtPriceX96: bigint; tick: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MintEvent { type InputTuple = [ sender: AddressLike, owner: AddressLike, tickLower: BigNumberish, tickUpper: BigNumberish, amount: BigNumberish, amount0: BigNumberish, amount1: BigNumberish ]; type OutputTuple = [ sender: string, owner: string, tickLower: bigint, tickUpper: bigint, amount: bigint, amount0: bigint, amount1: bigint ]; interface OutputObject { sender: string; owner: string; tickLower: bigint; tickUpper: bigint; amount: bigint; amount0: bigint; amount1: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SetFeeProtocolEvent { type InputTuple = [ feeProtocol0Old: BigNumberish, feeProtocol1Old: BigNumberish, feeProtocol0New: BigNumberish, feeProtocol1New: BigNumberish ]; type OutputTuple = [ feeProtocol0Old: bigint, feeProtocol1Old: bigint, feeProtocol0New: bigint, feeProtocol1New: bigint ]; interface OutputObject { feeProtocol0Old: bigint; feeProtocol1Old: bigint; feeProtocol0New: bigint; feeProtocol1New: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SwapEvent { type InputTuple = [ sender: AddressLike, recipient: AddressLike, amount0: BigNumberish, amount1: BigNumberish, sqrtPriceX96: BigNumberish, liquidity: BigNumberish, tick: BigNumberish ]; type OutputTuple = [ sender: string, recipient: string, amount0: bigint, amount1: bigint, sqrtPriceX96: bigint, liquidity: bigint, tick: bigint ]; interface OutputObject { sender: string; recipient: string; amount0: bigint; amount1: bigint; sqrtPriceX96: bigint; liquidity: bigint; tick: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IUniswapV3PoolEvents extends BaseContract { connect(runner?: ContractRunner | null): IUniswapV3PoolEvents; waitForDeployment(): Promise; interface: IUniswapV3PoolEventsInterface; 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; getFunction(key: string | FunctionFragment): T; getEvent(key: "Burn"): TypedContractEvent; getEvent(key: "Collect"): TypedContractEvent; getEvent(key: "CollectProtocol"): TypedContractEvent; getEvent(key: "Flash"): TypedContractEvent; getEvent(key: "IncreaseObservationCardinalityNext"): TypedContractEvent; getEvent(key: "Initialize"): TypedContractEvent; getEvent(key: "Mint"): TypedContractEvent; getEvent(key: "SetFeeProtocol"): TypedContractEvent; getEvent(key: "Swap"): TypedContractEvent; filters: { "Burn(address,int24,int24,uint128,uint256,uint256)": TypedContractEvent; Burn: TypedContractEvent; "Collect(address,address,int24,int24,uint128,uint128)": TypedContractEvent; Collect: TypedContractEvent; "CollectProtocol(address,address,uint128,uint128)": TypedContractEvent; CollectProtocol: TypedContractEvent; "Flash(address,address,uint256,uint256,uint256,uint256)": TypedContractEvent; Flash: TypedContractEvent; "IncreaseObservationCardinalityNext(uint16,uint16)": TypedContractEvent; IncreaseObservationCardinalityNext: TypedContractEvent; "Initialize(uint160,int24)": TypedContractEvent; Initialize: TypedContractEvent; "Mint(address,address,int24,int24,uint128,uint256,uint256)": TypedContractEvent; Mint: TypedContractEvent; "SetFeeProtocol(uint8,uint8,uint8,uint8)": TypedContractEvent; SetFeeProtocol: TypedContractEvent; "Swap(address,address,int256,int256,uint160,uint128,int24)": TypedContractEvent; Swap: TypedContractEvent; }; }