import { TickAction } from '../tick-action';
import { IFixSessionStateArgs } from './fix-session-state-args';
import { SessionState } from './session-state';
import { ILooseObject } from '../../collections/collection';
export declare class FixSessionState {
    nextTickAction: TickAction;
    lastReceivedAt: Date | null;
    LastSentAt: Date | null;
    lastTestRequestAt: Date | null;
    logoutSentAt: Date | null;
    now: Date;
    compId: string;
    peerCompId: string;
    peerHeartBeatSecs: number;
    lastPeerMsgSeqNum: number;
    readonly heartBeat: number;
    state: SessionState;
    readonly waitLogoutConfirmSeconds: number;
    readonly stopSeconds: number;
    private secondsSinceLogoutSent;
    private secondsSinceSent;
    private secondsSinceReceive;
    lastHeader: ILooseObject | null;
    reset(lastPeerMsgSeqNum?: number): void;
    constructor({ heartBeat, state, waitLogoutConfirmSeconds, stopSeconds, lastPeerMsgSeqNum }: IFixSessionStateArgs);
    private static dateAsString;
    lastSentSeqNum(): number;
    toString(): string;
    calcAction(now: Date): TickAction;
    timeToDie(): boolean;
    timeToHeartbeat(): boolean;
    timeToTerminate(): boolean;
    timeToTestRequest(): boolean;
    private calcState;
}
