import { Field } from './fields/Field';
import * as Constants from './fieldtypes';
import { ConnectionType, FIXParserBase, Options as FIXParserOptions, Protocol } from './FIXParserBase';
import { IFIXParser } from './IFIXParser';
import { Message } from './message/Message';
import { MessageBuffer } from './util/MessageBuffer';
import { Parser, Version } from './util/util';
export type Options = Pick<FIXParserOptions, 'host' | 'port' | 'sender' | 'target' | 'heartbeatIntervalSeconds' | 'fixVersion' | 'onMessage' | 'onOpen' | 'onError' | 'onClose' | 'onReady'>;
declare class FIXParserBrowser implements IFIXParser {
    static version: Version;
    parserName: Parser;
    fixParserBase: FIXParserBase;
    nextNumIn: number;
    nextNumOut: number;
    heartBeatIntervalId: ReturnType<typeof setInterval> | null;
    socket: WebSocket | null;
    connected: boolean;
    host: string | null;
    port: number | null;
    protocol: Protocol | null;
    sender: string | null;
    target: string | null;
    heartBeatInterval: number;
    fixVersion: string;
    messageBufferIn: MessageBuffer;
    messageBufferOut: MessageBuffer;
    connectionType: ConnectionType;
    private static onMessageCallback;
    private static onOpenCallback;
    private static onErrorCallback;
    private static onCloseCallback;
    private static onReadyCallback;
    connect({ host, port, sender, target, heartbeatIntervalSeconds, fixVersion, onMessage, onOpen, onError, onClose, onReady, }?: Options): void;
    getNextTargetMsgSeqNum(): number;
    setNextTargetMsgSeqNum(nextMsgSeqNum: number): number;
    getTimestamp(dateObject?: Date): string;
    createMessage(...fields: Field[]): Message;
    parse(data: string): Message[];
    send(message: Message): void;
    isConnected(): boolean;
    close(): void;
    stopHeartbeat(): void;
    startHeartbeat(heartBeatInterval?: number): void;
}
export { AllocPositionEffectEnum as AllocPositionEffect } from './fieldtypes/AllocPositionEffectEnum';
export { EncryptMethodEnum as EncryptMethod } from './fieldtypes/EncryptMethodEnum';
export { ExecTypeEnum as ExecType } from './fieldtypes/ExecTypeEnum';
export { FieldEnum as Fields } from './fieldtypes/FieldEnum';
export { HandlInstEnum as HandlInst } from './fieldtypes/HandlInstEnum';
export { MarketDepthEnum as MarketDepth } from './fieldtypes/MarketDepthEnum';
export { MDEntryTypeEnum as MDEntryType } from './fieldtypes/MDEntryTypeEnum';
export { MDUpdateTypeEnum as MDUpdateType } from './fieldtypes/MDUpdateTypeEnum';
export { MessageEnum as Messages } from './fieldtypes/MessageEnum';
export { OrderStatusEnum as OrderStatus } from './fieldtypes/OrderStatusEnum';
export { OrderTypesEnum as OrderTypes } from './fieldtypes/OrderTypesEnum';
export { SideEnum as Side } from './fieldtypes/SideEnum';
export { SubscriptionRequestTypeEnum as SubscriptionRequestType } from './fieldtypes/SubscriptionRequestTypeEnum';
export { TimeInForceEnum as TimeInForce } from './fieldtypes/TimeInForceEnum';
export { Protocol } from './FIXParserBase';
export { Constants };
export { Field };
export { Message };
export { FIXParserBrowser as FIXParser };
declare global {
    interface Window {
        FIXParser: typeof FIXParserBrowser;
    }
}
