/// <reference types="node" />
export class QConnection extends EventEmitter {
    /**
   * @constructs socketArgs
   * @param  {Object}    socketArgs
   * @param  {string}    [socketArgs.host]
   * @param  {number}    socketArgs.port
   * @param  {string}    [socketArgs.user]
   * @param  {string}    [socketArgs.password]
   * @param  {boolean}   [socketArgs.useBigInt]
   * @param  {boolean}   [socketArgs.enableTLS]
   * @param  {boolean}   [socketArgs.socketTimeout]
   * @param  {boolean}   [socketArgs.socketNoDelay]
   * @param  {boolean}   [socketArgs.includeNanosecond]
   * @param  {boolean}   [socketArgs.dateToMillisecond]
   */
    constructor(socketArgs: {
        host?: string;
        port: number;
        user?: string;
        password?: string;
        useBigInt?: boolean;
        enableTLS?: boolean;
        socketTimeout?: boolean;
        socketNoDelay?: boolean;
        includeNanosecond?: boolean;
        dateToMillisecond?: boolean;
    });
    socketArgs: {
        host?: string;
        port: number;
        user?: string;
        password?: string;
        useBigInt?: boolean;
        enableTLS?: boolean;
        socketTimeout?: boolean;
        socketNoDelay?: boolean;
        includeNanosecond?: boolean;
        dateToMillisecond?: boolean;
    };
    host: string;
    port: number;
    user: string;
    password: string;
    useBigInt: boolean;
    /** @type {net.Socket|tls.TLSSocket|null} */
    socket: net.Socket | tls.TLSSocket | null;
    /** @type {function[]} */
    callbacks: Function[];
    socketTimeout: number | boolean;
    socketNoDelay: boolean;
    msgBuffer: Buffer;
    msgOffset: number;
    enableTLS: boolean;
    includeNanosecond: boolean;
    dateToMillisecond: boolean;
    setSocket(socket: any): void;
    auth(socket: any, callback: any): void;
    /**
     *
     * @callback errorHandler
     * @param {Error} err
     */
    /**
     *
     * @param {errorHandler} callback
     */
    connect(callback: (err: Error) => any): void;
    /**
     *
     * @param {function()} [callback]
     */
    close(callback?: () => any): void;
    /**
     *
     * @param {Buffer} buffer
     */
    incomingMsgHandler(buffer: Buffer): void;
    /**
     *
     * @callback queryHandler
     * @param {Error} err
     * @param {any} res
     */
    /**
     *
     * @param {string|Array} param
     * @param {queryHandler} callback
     */
    sync(param: string | any[], callback: (err: Error, res: any) => any): void;
    /**
     *
     * @param {string|Array} param
     * @param {errorHandler} [callback]
     */
    asyn(param: string | any[], callback?: (err: Error) => any): void;
}
import { EventEmitter } from 'events';
import { Buffer } from 'buffer';
