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