import { IBApiNext, Contract, BarSizeSetting, WhatToShow, ContractDetails } from '@stoqey/ib';
import { MarketData, TickByTickAllLast } from '../interfaces';
import { MkdManager } from './Mkd';
export interface ContractInstrument extends Contract, ContractDetails {
    contract: Contract;
}
export declare class MarketDataManager extends MkdManager {
    logsNames: string;
    ib: IBApiNext;
    private GetHistoricalDataUpdates;
    private GetTickByTickDataUpdates;
    private currentBarData;
    private currentTickBarData;
    private static _instance;
    static get Instance(): MarketDataManager;
    removeHistoricalDataUpdates: (contract: Contract) => void;
    getHistoricalDataUpdates: (contract: Contract, barSizeSetting: BarSizeSetting, whatToShow: WhatToShow) => Promise<void>;
    getHistoricalData: (contract: Contract, endDateTime: string | undefined, durationStr: string, barSizeSetting: BarSizeSetting, whatToShow: WhatToShow, useRTH?: boolean) => Promise<MarketData[]>;
    getHistoricalTicksLast: (contract: Contract, startDate: Date | string, endDate?: Date | string, numberOfTicks?: number, useRTH?: boolean) => Promise<TickByTickAllLast[]>;
    getTickByTickDataUpdates: (contract: Contract) => Promise<void>;
    private onTickByTickDataUpdates;
    removeTickByTickDataUpdates: (contract: Contract) => void;
    getContract: (contract: Partial<Contract | any>) => Promise<ContractInstrument>;
    searchContracts: (contract: Partial<Contract>) => Promise<ContractInstrument[]>;
    init: () => void;
    private constructor();
}
export default MarketDataManager;
