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 IFeedRegistry { type FeedMappingArgsStruct = { token: AddressLike; denomination: AddressLike; feed: AddressLike; }; type FeedMappingArgsStructOutput = [ token: string, denomination: string, feed: string ] & { token: string; denomination: string; feed: string; }; } export interface IChainlinkAdapterInterface extends Interface { getFunction(nameOrSignature: "batchRegisterFeedMappings" | "describePricingPath" | "feed" | "getPrice" | "getPriceAt" | "isPairSupported" | "pricingPath" | "setTokenPriceAt" | "upsertPair"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "FeedMappingsRegistered" | "PriceUpdate" | "UpdatedPathForPair"): EventFragment; encodeFunctionData(functionFragment: "batchRegisterFeedMappings", values: [IFeedRegistry.FeedMappingArgsStruct[]]): string; encodeFunctionData(functionFragment: "describePricingPath", values: [AddressLike]): string; encodeFunctionData(functionFragment: "feed", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getPrice", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getPriceAt", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "isPairSupported", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "pricingPath", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "setTokenPriceAt", values: [AddressLike, AddressLike, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "upsertPair", values: [AddressLike, AddressLike]): string; decodeFunctionResult(functionFragment: "batchRegisterFeedMappings", data: BytesLike): Result; decodeFunctionResult(functionFragment: "describePricingPath", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPriceAt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isPairSupported", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pricingPath", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTokenPriceAt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upsertPair", data: BytesLike): Result; } export declare namespace FeedMappingsRegisteredEvent { type InputTuple = [args: IFeedRegistry.FeedMappingArgsStruct[]]; type OutputTuple = [args: IFeedRegistry.FeedMappingArgsStructOutput[]]; interface OutputObject { args: IFeedRegistry.FeedMappingArgsStructOutput[]; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace PriceUpdateEvent { type InputTuple = [ token: AddressLike, denomination: AddressLike, timestamp: BigNumberish, price: BigNumberish ]; type OutputTuple = [ token: string, denomination: string, timestamp: bigint, price: bigint ]; interface OutputObject { token: string; denomination: string; timestamp: bigint; price: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdatedPathForPairEvent { type InputTuple = [ tokenA: AddressLike, tokenB: AddressLike, path: BigNumberish ]; type OutputTuple = [tokenA: string, tokenB: string, path: bigint]; interface OutputObject { tokenA: string; tokenB: string; path: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IChainlinkAdapter extends BaseContract { connect(runner?: ContractRunner | null): IChainlinkAdapter; waitForDeployment(): Promise; interface: IChainlinkAdapterInterface; 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; batchRegisterFeedMappings: TypedContractMethod<[ args: IFeedRegistry.FeedMappingArgsStruct[] ], [ void ], "nonpayable">; describePricingPath: TypedContractMethod<[ token: AddressLike ], [ [ bigint, string[][], bigint[] ] & { adapterType: bigint; path: string[][]; decimals: bigint[]; } ], "view">; feed: TypedContractMethod<[ token: AddressLike, denomination: AddressLike ], [ string ], "view">; getPrice: TypedContractMethod<[ tokenIn: AddressLike, tokenOut: AddressLike ], [ bigint ], "view">; getPriceAt: TypedContractMethod<[ tokenIn: AddressLike, tokenOut: AddressLike, target: BigNumberish ], [ bigint ], "view">; isPairSupported: TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ [boolean, boolean] & { isCached: boolean; hasPath: boolean; } ], "view">; pricingPath: TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ bigint ], "view">; setTokenPriceAt: TypedContractMethod<[ token: AddressLike, denomination: AddressLike, timestamp: BigNumberish, price: BigNumberish ], [ void ], "nonpayable">; upsertPair: TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "batchRegisterFeedMappings"): TypedContractMethod<[ args: IFeedRegistry.FeedMappingArgsStruct[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "describePricingPath"): TypedContractMethod<[ token: AddressLike ], [ [ bigint, string[][], bigint[] ] & { adapterType: bigint; path: string[][]; decimals: bigint[]; } ], "view">; getFunction(nameOrSignature: "feed"): TypedContractMethod<[ token: AddressLike, denomination: AddressLike ], [ string ], "view">; getFunction(nameOrSignature: "getPrice"): TypedContractMethod<[ tokenIn: AddressLike, tokenOut: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "getPriceAt"): TypedContractMethod<[ tokenIn: AddressLike, tokenOut: AddressLike, target: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "isPairSupported"): TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ [boolean, boolean] & { isCached: boolean; hasPath: boolean; } ], "view">; getFunction(nameOrSignature: "pricingPath"): TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "setTokenPriceAt"): TypedContractMethod<[ token: AddressLike, denomination: AddressLike, timestamp: BigNumberish, price: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "upsertPair"): TypedContractMethod<[ tokenA: AddressLike, tokenB: AddressLike ], [ void ], "nonpayable">; getEvent(key: "FeedMappingsRegistered"): TypedContractEvent; getEvent(key: "PriceUpdate"): TypedContractEvent; getEvent(key: "UpdatedPathForPair"): TypedContractEvent; filters: { "FeedMappingsRegistered(tuple[])": TypedContractEvent; FeedMappingsRegistered: TypedContractEvent; "PriceUpdate(address,address,uint256,uint256)": TypedContractEvent; PriceUpdate: TypedContractEvent; "UpdatedPathForPair(address,address,uint8)": TypedContractEvent; UpdatedPathForPair: TypedContractEvent; }; }