import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export declare namespace ICustomUniswapV4Router { type PathKeyStruct = { intermediateCurrency: AddressLike; fee: BigNumberish; tickSpacing: BigNumberish; hooks: AddressLike; hookData: BytesLike; }; type PathKeyStructOutput = [ intermediateCurrency: string, fee: bigint, tickSpacing: bigint, hooks: string, hookData: string ] & { intermediateCurrency: string; fee: bigint; tickSpacing: bigint; hooks: string; hookData: string; }; type QuoteExactParamsStruct = { exactCurrency: AddressLike; path: ICustomUniswapV4Router.PathKeyStruct[]; exactAmount: BigNumberish; }; type QuoteExactParamsStructOutput = [ exactCurrency: string, path: ICustomUniswapV4Router.PathKeyStructOutput[], exactAmount: bigint ] & { exactCurrency: string; path: ICustomUniswapV4Router.PathKeyStructOutput[]; exactAmount: bigint; }; } export interface UniswapV4DynamicPriceRouterInterface extends Interface { getFunction(nameOrSignature: "FEE_DENOMINATOR" | "ROUTER_NAME" | "SCALER_DENOMINATOR" | "acceptOwnership" | "getPrice" | "getPriceFeesRemoved" | "owner" | "pendingOwner" | "renounceOwnership" | "setV4Quoter" | "supportsInterface" | "transferOwnership" | "v4Quoter"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferStarted" | "OwnershipTransferred" | "V4QuoterSet"): EventFragment; encodeFunctionData(functionFragment: "FEE_DENOMINATOR", values?: undefined): string; encodeFunctionData(functionFragment: "ROUTER_NAME", values?: undefined): string; encodeFunctionData(functionFragment: "SCALER_DENOMINATOR", values?: undefined): string; encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "getPrice", values: [ICustomUniswapV4Router.QuoteExactParamsStruct]): string; encodeFunctionData(functionFragment: "getPriceFeesRemoved", values: [ICustomUniswapV4Router.QuoteExactParamsStruct]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setV4Quoter", values: [AddressLike]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "v4Quoter", values?: undefined): string; decodeFunctionResult(functionFragment: "FEE_DENOMINATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ROUTER_NAME", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SCALER_DENOMINATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPriceFeesRemoved", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setV4Quoter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "v4Quoter", data: BytesLike): Result; } export declare namespace OwnershipTransferStartedEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferredEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace V4QuoterSetEvent { type InputTuple = [v4Quoter: AddressLike]; type OutputTuple = [v4Quoter: string]; interface OutputObject { v4Quoter: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface UniswapV4DynamicPriceRouter extends BaseContract { connect(runner?: ContractRunner | null): UniswapV4DynamicPriceRouter; waitForDeployment(): Promise; interface: UniswapV4DynamicPriceRouterInterface; 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; FEE_DENOMINATOR: TypedContractMethod<[], [bigint], "view">; ROUTER_NAME: TypedContractMethod<[], [string], "view">; SCALER_DENOMINATOR: TypedContractMethod<[], [bigint], "view">; acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; getPrice: TypedContractMethod<[ params: ICustomUniswapV4Router.QuoteExactParamsStruct ], [ bigint ], "nonpayable">; getPriceFeesRemoved: TypedContractMethod<[ params: ICustomUniswapV4Router.QuoteExactParamsStruct ], [ bigint ], "nonpayable">; owner: TypedContractMethod<[], [string], "view">; pendingOwner: TypedContractMethod<[], [string], "view">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; setV4Quoter: TypedContractMethod<[ _v4Quoter: AddressLike ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; v4Quoter: TypedContractMethod<[], [string], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "FEE_DENOMINATOR"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "ROUTER_NAME"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "SCALER_DENOMINATOR"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "getPrice"): TypedContractMethod<[ params: ICustomUniswapV4Router.QuoteExactParamsStruct ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "getPriceFeesRemoved"): TypedContractMethod<[ params: ICustomUniswapV4Router.QuoteExactParamsStruct ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "setV4Quoter"): TypedContractMethod<[_v4Quoter: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "v4Quoter"): TypedContractMethod<[], [string], "view">; getEvent(key: "OwnershipTransferStarted"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "V4QuoterSet"): TypedContractEvent; filters: { "OwnershipTransferStarted(address,address)": TypedContractEvent; OwnershipTransferStarted: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "V4QuoterSet(address)": TypedContractEvent; V4QuoterSet: TypedContractEvent; }; }