/** Request from client, sent to server to restore connection */
export type RestoreConnectionRequest = {
    /** Sticky connnection ID */
    sessionId: string;
    /** Last sent packeet index. If no packets sent, defaults to `-1` */
    lastSentIndex: number;
    /** Last received packet index. If no packets received, defaults to `-1` */
    lastReceivedIndex: number;
    /** First history packet index which is still stored at client, so can be sent again */
    firstHistoryIndex?: number;
};
/** Response, sent to client on `restore_connection` event */
export type RestoreConnectionResponse = {
    /** Whether restored */
    restored: boolean;
    /** Index since which the client should send packets. Exists if restored */
    sendSinceIndex?: number;
};
/** Emitted history packet */
export type EmitHistoryPacket = {
    /** Sent packet index */
    index: number;
    /** Event */
    event: string;
    /** Packet date */
    data: any[];
    /** Send time */
    time: Date;
};
/** Emitted packet */
export type EmitPacket = Pick<EmitHistoryPacket, 'index' | 'data'>;
/** Restore connection event */
export declare const RESTORE_CONNECTION_EVENT = "restore_connection";
/** User event */
export declare const EVENT = 2;
/** User event with binary data */
export declare const BINARY_EVENT = 5;
/** Common socket options */
export type SocketOptions = {
    /** Emit history buffer TTL. Defaults to `10` seconds */
    emitHistoryTtlInSeconds?: number;
};
/** Client socket.io socket disconnect reason */
export type ClientSocketDisconnectReason = 'io server disconnect' | 'io client disconnect' | 'ping timeout' | 'transport close' | 'transport error';
/** Server socket.io socket disconnect reason */
export type ServerSocketDisconnectReason = 'transport error' | 'server namespace disconnect' | 'client namespace disconnect' | 'ping timeout' | 'transport close';
