import type { JsonObject, ProjectQuarantineRequest, ProjectQuarantineSnapshot, ProjectResourceLink, UpdateWorkspaceInput, Workspace, WorkspaceLocation } from "../types/workspace.js"; export declare const PROJECT_QUARANTINE_ROUTE = "projects.duplicate-quarantine.v1"; export declare const PROJECT_QUARANTINE_EVENT = "duplicate_project_quarantined"; export declare const PROJECT_QUARANTINE_ROLLBACK_EVENT = "duplicate_project_quarantine_rolled_back"; export declare const PROJECT_QUARANTINE_METADATA_KEY = "projects_duplicate_quarantine"; export declare function workspaceLocationsDigest(locations: readonly WorkspaceLocation[]): string; export declare function projectDigest(project: Workspace, locations?: readonly WorkspaceLocation[]): string; export declare function projectQuarantineSnapshot(project: Workspace, resourceLinks: ProjectResourceLink[], workspaceLocations: WorkspaceLocation[]): ProjectQuarantineSnapshot; export declare function projectQuarantineSnapshotJson(snapshot: ProjectQuarantineSnapshot): JsonObject; export declare function parseProjectQuarantineSnapshot(value: JsonObject | null, label: string): ProjectQuarantineSnapshot; export declare function normalizedExpectedResourceLinkIds(input: ProjectQuarantineRequest): string[]; export declare function normalizedExpectedWorkspaceLocationIds(input: ProjectQuarantineRequest): string[]; export declare function projectQuarantineRequestDigest(input: ProjectQuarantineRequest): string; export declare function projectQuarantinePreconditionDigest(input: ProjectQuarantineRequest, expectedIds?: string[], expectedLocationIds?: string[]): string; export declare function projectQuarantinePatch(input: ProjectQuarantineRequest, before: ProjectQuarantineSnapshot): UpdateWorkspaceInput; export declare function assertProjectQuarantinePreconditions(input: ProjectQuarantineRequest, before: ProjectQuarantineSnapshot): string | null; export declare function assertProjectQuarantinePostimage(input: ProjectQuarantineRequest, before: ProjectQuarantineSnapshot, after: ProjectQuarantineSnapshot): void; export declare function restoreProjectPatch(snapshot: ProjectQuarantineSnapshot): UpdateWorkspaceInput; //# sourceMappingURL=project-quarantine.d.ts.map