import type { DirectoryEntry, FSAdapter, FSAdapterConfig } from "./types.js"; import type { FileInfo, ResolveFileOptions, SourceSnapshotFreshnessOptions } from "../../base.js"; import { ProxyFSAdapterManager } from "./proxy-manager.js"; import { VeryfrontFSAdapter } from "./adapter.js"; export { clearRequestScopedFileCache, getCurrentRequestContext, getRequestScopedFile, runWithRequestContext, setRequestScopedFile, wrapWithCurrentContext, } from "./request-context.js"; export type { RequestContext } from "./request-context.js"; export declare class MultiProjectFSAdapter implements FSAdapter { #private; readonly sourceSnapshotFreshnessOptionsVersion: 1; readonly symlinkSemantics: "none"; private defaultAdapter?; private readonly sourceSnapshotAdapterGenerations; private nextSourceSnapshotAdapterGeneration; constructor(config: FSAdapterConfig, manager?: ProxyFSAdapterManager); runWithContext(projectSlug: string, token: string, fn: () => Promise, projectId?: string, options?: { productionMode?: boolean; releaseId?: string | null; branch?: string | null; environmentName?: string | null; }): Promise; setRequestContext(projectSlug: string, token: string): void; setProductionMode(_enabled: boolean, _releaseId?: string | null): void; setDefaultAdapter(adapter: VeryfrontFSAdapter): void; initialize(): Promise; readFile(path: string): Promise; readFileBytesWithinLimit(path: string, byteLimit: number): Promise; readTextFile(path: string): Promise; readOptionalTextFile(path: string): Promise; exists(path: string): Promise; stat(path: string): Promise; readdir(path: string): Promise; /** * AsyncIterable version of readdir for compatibility with discovery code. * Wraps the Promise-based readdir to yield entries one at a time. */ readDir(path: string): AsyncIterable; resolveFile(basePath: string, options?: ResolveFileOptions): Promise; refreshSourceSnapshot(reason?: string): Promise; ensureSourceSnapshotFresh(reason?: string, options?: SourceSnapshotFreshnessOptions): Promise; getSourceSnapshotVersion(): Promise; getSourceSnapshotFingerprint(): Promise; getSourceSnapshotIdentity(): Promise; dispose(): void; getManagerStats(): ReturnType; getProjectData(): Promise | undefined>; getFilePathByEntityId(entityId: string): Promise; getAllSourceFiles(options?: { waitForWarmup?: boolean; }): Promise>; } export declare function isMultiProjectAdapter(adapter: unknown): adapter is MultiProjectFSAdapter; //# sourceMappingURL=multi-project-adapter.d.ts.map