import { BigNumber } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { CurvePoolDefinition, CurvePoolStaticTokenFetcher, ResolvePoolCoinAddressParams, ResolvePoolReserveParams } from '../../../apps/curve/common/curve.pool-static.token-fetcher';
import { SaddleContractFactory, SaddleSwap } from '../contracts';
export declare class EthereumSaddlePoolTokenFetcher extends CurvePoolStaticTokenFetcher<SaddleSwap> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: SaddleContractFactory;
    groupLabel: string;
    poolDefinitions: {
        address: string;
        swapAddress: string;
    }[];
    constructor(appToolkit: IAppToolkit, contractFactory: SaddleContractFactory);
    resolvePoolContract(definition: CurvePoolDefinition): SaddleSwap;
    resolvePoolCoinAddress({ contract, index }: ResolvePoolCoinAddressParams<SaddleSwap>): Promise<string>;
    resolvePoolReserve({ contract, index }: ResolvePoolReserveParams<SaddleSwap>): Promise<BigNumber>;
    resolvePoolFee(): Promise<BigNumber>;
}
