/// <reference types="node" />
/**
 *
 *
 * - Use IBKR
 * - Use Finnhub
 *
 * one constructor
 * - use envs
 * - use option constructor options
 */
import { FinnhubWS } from "@stoqey/finnhub";
import { IbkrEvents } from "@stoqey/ibkr";
import { EventEmitter } from "events";
import { MarketDataProviders } from "./providers";
export declare enum HEN {
    start = "START",
    data = "DATA",
    error = "error"
}
/**
 * Hennessy provider
 */
interface IHennessy {
    providerType: MarketDataProviders;
    env?: {
        finnhubKey?: string;
        ibPort?: number;
        ibHost?: string;
    };
}
/**
 * Hennessy APP
 */
export declare class Hennessy extends EventEmitter {
    providerType: MarketDataProviders;
    provider: IbkrEvents | FinnhubWS | null;
    started: boolean;
    args?: IHennessy;
    constructor(args?: IHennessy);
    private startConfig;
    /**
     * start
     */
    start: () => Promise<void>;
    /**
     * startDrinking
     */
    private startDrinking;
    /**
     * addSymbol
     * IBKR { symbol, tickType }
     * FINNHUB symbol
     */
    addSymbol: (data: string | object) => void;
    /**
     * removeSymbol
     */
    removeSymbol: (symbol: string) => void;
}
export {};
