import { GetContractReturnType } from 'viem';
import { BaseTransactions } from './base';
import { uniV3OracleAbi } from '../constants/abi/uniV3Oracle';
import type { QuoteParams, SplitsClientConfig, SplitsPublicClient, TransactionConfig } from '../types';
type UniV3OracleAbi = typeof uniV3OracleAbi;
declare class OracleTransactions extends BaseTransactions {
    constructor(transactionClientArgs: SplitsClientConfig & TransactionConfig);
    protected _getOracleContract(oracle: string, chainId: number): GetContractReturnType<UniV3OracleAbi, SplitsPublicClient>;
}
export declare class OracleClient extends OracleTransactions {
    constructor(clientArgs: SplitsClientConfig);
    getQuoteAmounts({ oracleAddress, quoteParams, chainId, }: {
        oracleAddress: string;
        quoteParams: QuoteParams[];
        chainId?: number;
    }): Promise<{
        quoteAmounts: bigint[];
    }>;
}
export {};
