import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { MetaType } from '../../../position/position.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { DefaultContractPositionDefinition, GetDataPropsParams, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { SynthetixContractFactory, SynthetixNetworkToken } from '../contracts';
import { SynthetixMintrSnxHoldersCache } from './synthetix.mintr.snx-holders.cache';
export declare type SynthetixMintrDataProps = {
    liquidity: number;
};
export declare abstract class SynthetixMintrContractPositionFetcher extends ContractPositionTemplatePositionFetcher<SynthetixNetworkToken, SynthetixMintrDataProps> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: SynthetixContractFactory;
    protected readonly holdersCache: SynthetixMintrSnxHoldersCache;
    abstract snxAddress: string;
    abstract sUSDAddress: string;
    abstract feePoolAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: SynthetixContractFactory, holdersCache: SynthetixMintrSnxHoldersCache);
    getContract(address: string): SynthetixNetworkToken;
    getDefinitions(): Promise<{
        address: string;
    }[]>;
    getTokenDefinitions(): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getDataProps({ contractPosition, }: GetDataPropsParams<SynthetixNetworkToken, SynthetixMintrDataProps, DefaultContractPositionDefinition>): Promise<SynthetixMintrDataProps>;
    getLabel(): Promise<string>;
    getTokenBalancesPerPosition({ address, contract, multicall }: GetTokenBalancesParams<SynthetixNetworkToken>): Promise<(string | import("ethers").BigNumber)[]>;
}
