export declare class ByteQueue {
    private static readonly EMPTY;
    private _chunks;
    private _headOffset;
    private _length;
    private _cachedView;
    private _cachedLength;
    constructor(initial?: Uint8Array);
    get length(): number;
    isEmpty(): boolean;
    view(): Uint8Array;
    reset(data?: Uint8Array): void;
    append(chunk: Uint8Array): void;
    read(length: number): Uint8Array;
    /**
     * Return a list of chunk views totaling `length` bytes without consuming.
     *
     * This avoids materializing a contiguous buffer for streaming write paths.
     */
    peekChunks(length: number): Uint8Array[];
    discard(length: number): void;
    /**
     * Find the first index of `pattern` within the queue.
     *
     * This avoids materializing a contiguous `view()` for common small patterns
     * (ZIP signatures are typically 2-4 bytes).
     */
    indexOfPattern(pattern: Uint8Array, startIndex?: number): number;
    /** Peek a little-endian uint32 at `offset` without consuming bytes. Returns null if not enough bytes. */
    peekUint32LE(offset: number): number | null;
    /** Peek a single byte at `offset` without consuming bytes. */
    peekByte(offset: number): number;
}
