import { CurveCryptoFactory } from '../contracts';
import { CurvePoolGaugeContractPositionFetcher, ResolveGaugeAddressParams, ResolvePoolCountParams, ResolveSwapAddressParams, ResolveTokenAddressParams } from './curve.pool-gauge.contract-position-fetcher';
export declare abstract class CurveFactoryCryptoPoolGaugeContractPositionFetcher extends CurvePoolGaugeContractPositionFetcher<CurveCryptoFactory> {
    resolveRegistry(address: string): CurveCryptoFactory;
    resolvePoolCount({ contract }: ResolvePoolCountParams<CurveCryptoFactory>): Promise<import("ethers").BigNumber>;
    resolveSwapAddress({ contract, poolIndex }: ResolveSwapAddressParams<CurveCryptoFactory>): Promise<string>;
    resolveTokenAddress({ contract, swapAddress }: ResolveTokenAddressParams<CurveCryptoFactory>): Promise<string>;
    resolveGaugeAddresses({ contract, swapAddress }: ResolveGaugeAddressParams<CurveCryptoFactory>): Promise<string[]>;
}
