import type { Target } from './targets.js'; import type { UninstallDoneResult } from '@opensip-cli/contracts'; /** @throws {Error} When the project path or a managed layout root is unsafe. */ export declare function assertSafeProjectDir(projectDir: string): void; export declare function targetFingerprint(targets: readonly Target[]): string; export declare function filterProjectTargets(purge: boolean, allTargets: readonly Target[]): { toDelete: readonly Target[]; toKeep: readonly Target[]; }; export declare function buildProjectResult(args: { action: UninstallDoneResult['action']; targets: readonly Target[]; rootPath: string; recovery?: UninstallDoneResult['recovery']; }): UninstallDoneResult; export declare function journalBlocksRemoval(projectDir: string): { readonly blocked: boolean; readonly recovery: NonNullable; }; export declare function performProjectDeletion(toDelete: readonly Target[], purge: boolean, projectDir: string): void; export type ProjectJournal = ReturnType; export type ProjectTargetSelection = ReturnType; //# sourceMappingURL=project-removal-safety.d.ts.map