import type { FileHandle } from 'node:fs/promises';
export declare class BinaryReader {
    private readable;
    private buffers;
    constructor(readable: FileHandle);
    protected buffer(size: number): Buffer;
    assert(data: Uint8Array, message: string): Promise<void>;
    skip(count: number): Promise<number>;
    binary(count: number): Promise<import("fs/promises").FileReadResult<Buffer>>;
    bool(): Promise<boolean>;
    u8(): Promise<number>;
    u16(): Promise<number>;
    u24(): Promise<number>;
    u32(): Promise<number>;
    f32(): Promise<number>;
    string(length: number): Promise<string>;
    struct<T, Map extends Record<string, () => Promise<any>>>(target: T, map: Map): Promise<T & {
        [N in keyof Map]: Awaited<ReturnType<Map[N]>>;
    }>;
}
