import { JsonRpcProvider } from 'ethers';
import { GetPoolDataArg, IPoolDataProvider, PoolData } from '../interfaces/IPoolDataProvider';
import { Multicall } from './typechain-types';
export interface OraidexPoolDataProviderConfig {
    multicallAddress?: string;
    chunkSize?: number;
}
export declare const defaultOraidexPoolDataProviderConfig: OraidexPoolDataProviderConfig;
export declare class OraidexPoolDataProvider implements IPoolDataProvider {
    jsonRpcProvider: JsonRpcProvider;
    static readonly ORAIDEX_V3_ADDRESS = "orai10s0c75gw5y5eftms5ncfknw6lzmx0dyhedn75uz793m8zwz4g8zq4d9x9a";
    config: Required<OraidexPoolDataProviderConfig>;
    multicall: Multicall;
    constructor(jsonRpcProvider: JsonRpcProvider, config: OraidexPoolDataProviderConfig);
    getPoolData(args: GetPoolDataArg[]): Promise<PoolData[]>;
    getPoolDataV2Call(poolKey: string): Multicall.CallStruct;
    getPoolDataV3Call(poolKey: string): Multicall.CallStruct;
}
//# sourceMappingURL=OraidexPoolDataProvider.d.ts.map