import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { PancakeswapContractFactory, PancakeswapStablePool, PancakeswapStablePoolRegistry } from '../contracts';
import { PancakeswapPoolDynamicTokenFetcher, ResolveCoinAddressesParams, ResolveFeesParams, ResolvePoolCountParams, ResolveReservesParams, ResolveSwapAddressParams, ResolveTokenAddressParams } from './pancakeswap.pool-dynamic.token-fetcher';
export declare abstract class PancakeswapStablePoolTokenFetcher extends PancakeswapPoolDynamicTokenFetcher<PancakeswapStablePoolRegistry, PancakeswapStablePool> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: PancakeswapContractFactory;
    constructor(appToolkit: IAppToolkit, contractFactory: PancakeswapContractFactory);
    resolveRegistry(address: string): PancakeswapStablePoolRegistry;
    resolveStablePool(address: string): PancakeswapStablePool;
    resolvePoolCount({ contract }: ResolvePoolCountParams<PancakeswapStablePoolRegistry>): Promise<import("ethers").BigNumber>;
    resolveSwapAddress({ contract, poolIndex }: ResolveSwapAddressParams<PancakeswapStablePoolRegistry>): Promise<string>;
    resolveTokenAddress({ contract }: ResolveTokenAddressParams<PancakeswapStablePool>): Promise<string>;
    resolveCoinAddresses({ contract }: ResolveCoinAddressesParams<PancakeswapStablePool>): Promise<string[]>;
    resolveReserves({ contract }: ResolveReservesParams<PancakeswapStablePool>): Promise<import("ethers").BigNumber[]>;
    resolveFees({ contract }: ResolveFeesParams<PancakeswapStablePool>): Promise<import("ethers").BigNumber>;
}
