///
import { SocketConnectOpts } from 'net';
import { MemcacheOptions, CommandCallback } from './types';
import net = require('net');
import MemcacheRequest = require('./request');
import MemcacheResponse = require('./response');
import MemcacheError = require('./error');
declare class Connection extends net.Socket {
readonly host = '127.0.0.1';
readonly port = 11211;
readonly path?: string;
readonly queueSize: number;
readonly commandTimeout = 4000;
readonly multiResponseOpCodes: number[];
readonly connectTimeout = 2000;
readonly retries: number;
readonly minDelay = 1000;
readonly maxDelay = 30000;
readonly backoff: (attempt: number) => number;
username?: string;
password?: string;
protected queue: [
MemcacheRequest,
CommandCallback,
NodeJS.Timer | undefined
][];
protected killed: MemcacheError | false;
private writeBufferAvailable;
private sendPointer;
private residualBuffer?;
private multiResponse;
private connectTimer?;
private attempt;
constructor({
host,
port,
path,
queueSize,
commandTimeout,
connectTimeout,
minDelay,
maxDelay,
retries,
backoff,
username,
password,
multiResponseOpCodes,
}: Partial);
connect(): this;
sasl(): void;
drain(): void;
send(
request: MemcacheRequest,
callback: CommandCallback | MemcacheResponse[]>
): void;
protected receive(newBuffer: Buffer): void;
protected respond(
response: MemcacheResponse | MemcacheResponse[]
): void;
kill(error?: MemcacheError): void;
get socketConnectOptions(): SocketConnectOpts;
get socketConnectString(): string;
}
export = Connection;