import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { UniswapV2PoolOnChainTemplateTokenFetcher } from '../../../apps/uniswap-v2/common/uniswap-v2.pool.on-chain.template.token-fetcher';
import { KyberswapClassicContractFactory, KyberSwapClassicFactory, KyberSwapClassicPool } from '../contracts';
export declare abstract class KyberSwapClassicPoolTokenFetcher extends UniswapV2PoolOnChainTemplateTokenFetcher<KyberSwapClassicPool, KyberSwapClassicFactory> {
    protected readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    fee: number;
    constructor(appToolkit: IAppToolkit, contractFactory: KyberswapClassicContractFactory);
    getPoolTokenContract(address: string): KyberSwapClassicPool;
    getPoolFactoryContract(address: string): KyberSwapClassicFactory;
    getPoolsLength(contract: KyberSwapClassicFactory): Promise<BigNumberish>;
    getPoolAddress(contract: KyberSwapClassicFactory, index: number): Promise<string>;
    getPoolToken0(contract: KyberSwapClassicPool): Promise<string>;
    getPoolToken1(contract: KyberSwapClassicPool): Promise<string>;
    getPoolReserves(contract: KyberSwapClassicPool): Promise<BigNumberish[]>;
}
