/// <reference types="node" />
export declare type MessageCodecOptions = {
    binary?: boolean;
};
export declare type MessageDecodedCallback = (message: Buffer | string) => void;
export default class MessageCodec {
    private readonly binary;
    private decodeState;
    private readonly lengthBuf;
    private lengthBufPos;
    private decodeBuf;
    private decodeBufPos;
    constructor(options: MessageCodecOptions);
    encode(data: string | Buffer): Buffer;
    decode(srcBuffer: Buffer, onMessage: MessageDecodedCallback): void;
}
