///
import { EventNoticer, Event } from '../event';
import { Parser, Packet } from './parser';
import { ClientFlags, Charsets } from './constants';
import { Options } from './opts';
declare const _default: {
CONNECT_TIMEOUT: number;
MAX_CONNECT_COUNT: number;
MAX_PACKET_SIZE: number;
DEFAULT_FLAGS: ClientFlags;
CHAREST_NUMBER: Charsets;
};
export default _default;
interface Callback {
(e: Error | null, connect?: Connection): void;
}
export declare class Connection {
private _greeting;
private _socket;
private _idle_tomeout;
private _isUse;
private _isReady;
readonly parser: Parser;
private _write;
private _sendAuth;
private _sendOldAuth;
checkIdleTimeout(): void;
private _Destroy;
/**
* option
* @type {Object}
*/
readonly options: Options;
readonly onError: EventNoticer>;
readonly onPacket: EventNoticer>;
private readonly _onReady;
/**
* @constructor
* @arg opt {Object}
*/
constructor(options?: Options);
/**
* write buffer
* @arg {node.Buffer}
*/
write(buffer: Buffer): void;
private static _Key;
/**
* return connection pool
*/
idle(): void;
private _changeDB;
private _ready;
/**
* start use connect
*/
private _use;
/**
* get connect
* @param {Object} opt
* @param {Function} cb
*/
static resolve(opt: Options, cb: Callback): void;
}
export declare const resolve: typeof Connection.resolve;