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, GetDisplayPropsParams, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { SynthetixContractFactory, SynthetixPerp } from '../contracts';
export declare type GetContracts = {
    futuresMarkets: {
        id: string;
        marketKey: string;
    }[];
};
export declare const getContractsQuery: string;
export declare abstract class OptimismSynthetixPerpContractPositionFetcher extends ContractPositionTemplatePositionFetcher<SynthetixPerp> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: SynthetixContractFactory;
    constructor(appToolkit: IAppToolkit, contractFactory: SynthetixContractFactory);
    getContract(address: string): SynthetixPerp;
    abstract getDefinitions(): Promise<DefaultContractPositionDefinition[]>;
    getTokenDefinitions(): Promise<{
        address: string;
        metaType: MetaType;
        network: import("../../../types").Network;
    }[]>;
    protected getBaseAsset({ contractPosition }: {
        contractPosition: any;
    }): Promise<string>;
    abstract getLabel({ contractPosition }: GetDisplayPropsParams<SynthetixPerp>): Promise<string>;
    getImages({ contractPosition }: GetDisplayPropsParams<SynthetixPerp>): Promise<string[]>;
    getTokenBalancesPerPosition({ address, contract }: GetTokenBalancesParams<SynthetixPerp>): Promise<import("ethers").BigNumber[]>;
}
