import { type PromotionEntryIdentity } from './runtime-promotion-filesystem-identity.js'; import type { RuntimePromotionArtifactMarker, RuntimePromotionFilesystemDependencies, RuntimePromotionFilesystemMutation } from './runtime-promotion-filesystem-types.js'; export * from './runtime-promotion-filesystem-identity.js'; export interface StablePromotionDirectory { readonly path: string; readonly identity: PromotionEntryIdentity; readonly descriptor?: number; } export declare function promotionFilesystemCheckpoint(dependencies: RuntimePromotionFilesystemDependencies, boundary: 'before' | 'after', effect: 'mutation' | 'fsync', operation: RuntimePromotionFilesystemMutation | 'file' | 'directory'): void; export declare function withPromotionMutation(dependencies: RuntimePromotionFilesystemDependencies, operation: RuntimePromotionFilesystemMutation, mutation: () => T): T; export declare function openStablePromotionDirectory(requestedPath: string, description: string): StablePromotionDirectory; export declare function assertStablePromotionDirectory(directory: StablePromotionDirectory, description: string): void; export declare function closeStablePromotionDirectory(directory: StablePromotionDirectory): void; /** * Scope one stable directory handle so a later open or callback failure cannot * strand its descriptor. */ export declare function withStablePromotionDirectory(requestedPath: string, description: string, use: (directory: StablePromotionDirectory) => T): T; export declare function withOpenedStablePromotionDirectory(directory: StablePromotionDirectory, use: (directory: StablePromotionDirectory) => T): T; export declare function fsyncPromotionDirectory(directory: StablePromotionDirectory, dependencies: RuntimePromotionFilesystemDependencies): void; /** * Create a private direct child and return an inode-bound handle before the * after-mutation checkpoint can expose a deterministic replacement window. */ export declare function createStableExactPromotionDirectory(parent: StablePromotionDirectory, path: string, dependencies: RuntimePromotionFilesystemDependencies, initialize?: (directory: StablePromotionDirectory) => void): StablePromotionDirectory; /** * Complete a private-mkdir → authored-mode transition while retaining the * already-bound directory handle. The returned snapshot owns the same * descriptor and reflects the intentional mode change. */ export declare function finalizeStablePromotionDirectoryMode(parent: StablePromotionDirectory, directory: StablePromotionDirectory, finalMode: number, dependencies: RuntimePromotionFilesystemDependencies): StablePromotionDirectory; export declare function renamePromotionEntry(parent: StablePromotionDirectory, source: string, destination: string, dependencies: RuntimePromotionFilesystemDependencies, operation: RuntimePromotionFilesystemMutation, revalidateSource: () => void): void; export declare function removeEmptyPromotionDirectory(parent: StablePromotionDirectory, path: string, dependencies: RuntimePromotionFilesystemDependencies, operation: RuntimePromotionFilesystemMutation, boundRootIdentity?: NonNullable): void; //# sourceMappingURL=runtime-promotion-filesystem-io.d.ts.map