/// <reference types="node" />
import { EventEmitter } from 'events';
import { Socket } from 'net';
declare type ExpectCallback = (error: Error | null, msg?: Buffer) => void | null;
export declare class SocketProtocol extends EventEmitter {
    private socket;
    cur: number;
    cntIn: number;
    expectBytes: number;
    write: (data: Buffer) => void;
    expectCallback: ExpectCallback;
    constructor(socket: Socket);
    expect(bytes: number, callback: ExpectCallback): void;
    private kick;
    private bytes;
    drop(): void;
    close(): void;
    private readable;
}
export {};
