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 { GetDisplayPropsParams, GetTokenBalancesParams, GetTokenDefinitionsParams } from '../../../position/template/contract-position.template.types';
import { AbracadabraContractFactory, AbracadabraCauldron } from '../contracts';
export declare abstract class AbracadabraCauldronContractPositionFetcher extends ContractPositionTemplatePositionFetcher<AbracadabraCauldron> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: AbracadabraContractFactory;
    abstract cauldrons: string[];
    constructor(appToolkit: IAppToolkit, contractFactory: AbracadabraContractFactory);
    getContract(address: string): AbracadabraCauldron;
    getDefinitions(): Promise<{
        address: string;
    }[]>;
    getTokenDefinitions({ address, contract, multicall }: GetTokenDefinitionsParams<AbracadabraCauldron>): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getLabel({ contractPosition }: GetDisplayPropsParams<AbracadabraCauldron>): Promise<string>;
    getTokenBalancesPerPosition({ address, contractPosition, contract, multicall, }: GetTokenBalancesParams<AbracadabraCauldron>): Promise<import("ethers").BigNumber[]>;
}
