/**
 * Buffer manipulation utilities for protocol detection
 */
/**
 * BufferAccumulator class for handling fragmented data
 */
export declare class BufferAccumulator {
    private chunks;
    private totalLength;
    /**
     * Append data to the accumulator
     */
    append(data: Buffer): void;
    /**
     * Get the accumulated buffer
     */
    getBuffer(): Buffer;
    /**
     * Get current buffer length
     */
    length(): number;
    /**
     * Clear all accumulated data
     */
    clear(): void;
    /**
     * Check if accumulator has minimum bytes
     */
    hasMinimumBytes(minBytes: number): boolean;
}
/**
 * Read a big-endian 16-bit integer from buffer
 */
export declare function readUInt16BE(buffer: Buffer, offset: number): number;
/**
 * Read a big-endian 24-bit integer from buffer
 */
export declare function readUInt24BE(buffer: Buffer, offset: number): number;
/**
 * Find a byte sequence in a buffer
 */
export declare function findSequence(buffer: Buffer, sequence: Buffer, startOffset?: number): number;
/**
 * Extract a line from buffer (up to CRLF or LF)
 */
export declare function extractLine(buffer: Buffer, startOffset?: number): {
    line: string;
    nextOffset: number;
} | null;
/**
 * Check if buffer starts with a string (case-insensitive)
 */
export declare function startsWithString(buffer: Buffer, str: string, offset?: number): boolean;
/**
 * Safe buffer slice that doesn't throw on out-of-bounds
 */
export declare function safeSlice(buffer: Buffer, start: number, end?: number): Buffer;
/**
 * Check if buffer contains printable ASCII
 */
export declare function isPrintableAscii(buffer: Buffer, length?: number): boolean;
