interface TransformedModuleDirectoryEntry { readonly name: string; readonly isFile: boolean; readonly isDirectory: boolean; readonly isSymlink?: boolean; } interface TransformedModuleFileInfo { readonly size: number; readonly isFile: boolean; readonly isDirectory: boolean; readonly mtime: Date | null; } export interface TransformedModuleFileStore { createFileBytesExclusive?(path: string, content: Uint8Array): Promise; readFileBytesWithinLimit?(path: string, byteLimit: number): Promise; writeFile?(path: string, content: Uint8Array): Promise; rename?(from: string, to: string): Promise; mkdir?(path: string, options?: { recursive?: boolean; }): Promise; readDir?(path: string): AsyncIterable; stat?(path: string): Promise; remove(path: string, options?: { recursive?: boolean; }): Promise; } export type TransformedModuleImporter = (specifier: string) => Promise>; interface TransformedModuleCoordinatorOptions { maxArtifacts?: number; maxArtifactBytes?: number; ownerId?: string; leaseDurationMs?: number; heartbeatIntervalMs?: number; lockPollIntervalMs?: number; lockPollAttempts?: number; now?: () => number; wait?: (milliseconds: number) => Promise; } export declare function buildTransformedModuleSlotPath(componentFile: string, slot: number, contentHash: string, generationId?: string): string; export declare function buildTransformedModuleSpecifier(versionedFile: string, retryAttempt: number): string; /** * Publishes immutable transformed modules through a bounded lease ledger. * A live coordinator pins every artifact it has imported. At capacity, only * artifacts without a live pin may be recycled, so delayed relative imports * keep their immutable base while crashed or restarted owners cannot brick the * project cache permanently. */ export declare class TransformedModuleCoordinator { #private; constructor(store: TransformedModuleFileStore, importer?: TransformedModuleImporter, options?: TransformedModuleCoordinatorOptions); importTransformedModule(componentFile: string, transformedCode: string, contentHash: string, lifecycleRoot: string): Promise>; dispose(): Promise; } export {}; //# sourceMappingURL=transformed-module-coordinator.d.ts.map