import type { LazyReader } from "./types";
interface EmscriptenStream {
    position: number;
    node: unknown;
}
export interface LazyStreamOps {
    read(stream: EmscriptenStream, buffer: Uint8Array, offset: number, length: number, position: number): number;
    write(): number;
    llseek(stream: EmscriptenStream, offset: number, whence: number): number;
}
interface EmscriptenFS {
    mkdirTree?(path: string): void;
    mkdir(path: string): void;
    createFile(parent: string, name: string, properties: Record<string, unknown>, canRead: boolean, canWrite: boolean): any;
}
/**
 * Build the read-only `stream_ops` that bridge Emscripten reads to a LazyReader.
 * Pure and self-contained so it can be unit-tested without a real WASM module.
 */
export declare function createLazyStreamOps(reader: LazyReader): LazyStreamOps;
/**
 * Create a lazily-read file at `path` in the Emscripten filesystem, backed by
 * `reader`. Returns the created FS node.
 */
export declare function mountLazyFile(FS: EmscriptenFS, path: string, reader: LazyReader): unknown;
export {};
//# sourceMappingURL=emscripten-fs.d.ts.map