import { CTPProvider } from "./provider.js";
import { InstrumentData } from "./typedef.js";
import { ILifecycleListener, IMarketProvider, IMarketRecorderReceiver, IMarketRecorderSymbols, ITickReceiver } from "./interfaces.js";
export declare class Market extends CTPProvider implements IMarketProvider {
    private marketApi?;
    private recorder?;
    private recorderSymbols?;
    private tradingDay;
    private readonly recordings;
    private readonly symbols;
    private readonly lastTicks;
    private readonly subscribers;
    constructor(flowMdPath: string, frontMdAddrs: string | string[]);
    hasRecorder(): boolean;
    setRecorder(receiver: IMarketRecorderReceiver, symbols: IMarketRecorderSymbols): void;
    open(lifecycle: ILifecycleListener): boolean;
    close(lifecycle: ILifecycleListener): void;
    startRecorder(instrument: InstrumentData[]): void;
    stopRecorder(): void;
    subscribe(symbols: string[], receiver: ITickReceiver): void;
    unsubscribe(symbols: string[], receiver: ITickReceiver): void;
}
export declare const createMarket: (flowMdPath: string, frontMdAddrs: string | string[]) => Market;
