import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { ContractPositionBalance, RawContractPositionBalance } from '../../../position/position-balance.interface';
import { MetaType } from '../../../position/position.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { GetDisplayPropsParams } from '../../../position/template/contract-position.template.types';
import { SynthetixContractFactory, SynthetixPerp } from '../contracts';
export declare type Market = {
    id: string;
    marketKey: string;
    asset: string;
};
export declare type FuturesMarkets = {
    futuresMarkets: Market[];
};
export declare const FUTURES_MARKETS_QUERY: string;
export declare type SynthetixPerpPositionDefinition = {
    address: string;
    side: string;
    asset: string;
};
export declare abstract class OptimismSynthetixPerpContractPositionFetcher extends ContractPositionTemplatePositionFetcher<SynthetixPerp, DefaultDataProps, SynthetixPerpPositionDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: SynthetixContractFactory;
    useCustomMarketLogos: boolean;
    constructor(appToolkit: IAppToolkit, contractFactory: SynthetixContractFactory);
    getContract(address: string): SynthetixPerp;
    abstract marketFilter(marketKey: string): boolean;
    protected isV2Market(marketKey: string): boolean;
    getDefinitions(): Promise<SynthetixPerpPositionDefinition[]>;
    getTokenDefinitions(): Promise<{
        address: string;
        metaType: MetaType;
        network: import("../../../types").Network;
    }[]>;
    getLabel({ definition, }: GetDisplayPropsParams<SynthetixPerp, DefaultDataProps, SynthetixPerpPositionDefinition>): Promise<string>;
    getDataProps({ definition }: {
        definition: any;
    }): Promise<{
        side: any;
    }>;
    getImages({ definition, }: GetDisplayPropsParams<SynthetixPerp, DefaultDataProps, SynthetixPerpPositionDefinition>): Promise<string[]>;
    getTokenBalancesPerPosition(): Promise<BigNumberish[]>;
    getBalances(address: string): Promise<ContractPositionBalance<DefaultDataProps>[]>;
    getRawBalances(address: string): Promise<RawContractPositionBalance[]>;
}
