import type { RunMatPackageCacheProvider } from "./provider-types.js"; import type { RunMatFilesystemDirEntry, RunMatFilesystemMetadata, RunMatFilesystemProvider } from "../fs/provider-types.js"; export interface BrowserTreeEntry { path: string; kind: "file" | "directory" | "symlink"; digest?: string; byte_len: number | bigint; executable: boolean; link_target?: string; } export interface BrowserTreeManifest { digest: string; entries: BrowserTreeEntry[]; } export interface BrowserMountEntry { path: string; kind: BrowserTreeEntry["kind"]; byteLength: number; executable: boolean; linkTarget?: string; } /** * Read-only projection over a Rust-validated tree manifest and cache provider. * This class never mutates cache state and treats evicted payloads as recoverable misses. */ export declare class ImmutableBrowserPackageMount { readonly manifest: BrowserTreeManifest; private readonly cache; private readonly entries; constructor(manifest: BrowserTreeManifest, cache: RunMatPackageCacheProvider); stat(path: string): BrowserMountEntry | null; statFollowing(path: string): BrowserMountEntry | null; readDir(path?: string): BrowserMountEntry[]; readFile(path: string): Promise; private resolveFile; private resolveEntry; } /** * Filesystem composition adapter that projects immutable package trees beneath a * reserved virtual namespace and delegates every workspace path to the host provider. */ export declare class BrowserPackageMountFilesystem implements RunMatFilesystemProvider { private readonly workspace; private readonly mounts; constructor(workspace: RunMatFilesystemProvider); clear(): void; register(snapshot: PackageSnapshotMountInput, cache: RunMatPackageCacheProvider): string; registerVolatile(snapshot: PackageSnapshotMountInput): string; readFile(path: string): Promise; readMany(paths: string[]): Promise>; writeFile(path: string, data: Uint8Array | ArrayBuffer | ArrayBufferView): void | Promise; removeFile(path: string): void | Promise; metadata(path: string): Promise; symlinkMetadata(path: string): Promise; readDir(path: string): Promise; canonicalize(path: string): string | Promise; createDir(path: string): void | Promise; createDirAll(path: string): void | Promise; removeDir(path: string): void | Promise; removeDirAll(path: string): void | Promise; rename(from: string, to: string): void | Promise; setReadonly(path: string, readonly: boolean): void | Promise; private resolve; private assertMutable; } export interface PackageSnapshotMountInput { source: { tree_digest: string; }; tree: BrowserTreeManifest; blobs?: Array<{ digest: string; bytes: number[] | Uint8Array; }>; } export type GitSnapshotMountInput = PackageSnapshotMountInput; //# sourceMappingURL=mount.d.ts.map