import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { ContractPositionBalance } from '../../../position/position-balance.interface';
import { MetaType } from '../../../position/position.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { GetDisplayPropsParams, GetTokenDefinitionsParams } from '../../../position/template/contract-position.template.types';
import { SolaceContractFactory, XsLocker } from '../contracts';
export declare abstract class SolaceXslockerContractPositionFetcher extends ContractPositionTemplatePositionFetcher<XsLocker> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: SolaceContractFactory;
    abstract xsLockerAddress: string;
    abstract stakingRewardAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: SolaceContractFactory);
    getContract(address: string): XsLocker;
    getDefinitions(): Promise<{
        address: string;
    }[]>;
    getTokenDefinitions({ contract }: GetTokenDefinitionsParams<XsLocker>): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getLabel({ contract }: GetDisplayPropsParams<XsLocker>): Promise<string>;
    getTokenBalancesPerPosition(): never;
    getBalances(address: string): Promise<ContractPositionBalance<DefaultDataProps>[]>;
}
