import type { GuardedProjectMutationBounds, GuardedProjectMutationControl, GuardedProjectMutationDirection, GuardedProjectReadRequest, GuardedProjectReadResult, GuardedProjectMutationReceipt, GuardedProjectMutationReceiptRow, JsonObject, ProjectResourceLink, UpdateWorkspaceInput, Workspace } from "../types/workspace.js"; export declare const GUARDED_PROJECT_MUTATION_ROUTE = "projects.guarded-metadata-mutation.v1"; export declare const GUARDED_PROJECT_MUTATION_EVENT = "guarded_metadata_mutation"; export declare const GUARDED_PROJECT_MUTATION_ROLLBACK_EVENT = "guarded_metadata_mutation_rollback"; export declare const COMPLETE_STABLE_PROJECT_ID_PATTERN = "^wks_[A-Za-z0-9_-]{12,}$"; export declare function assertCompleteStableProjectId(value: string): void; export declare function assertPositiveBounds(bounds: GuardedProjectMutationBounds): void; export declare function canonicalJson(value: unknown): string; export declare function sha256(value: string): string; export declare function requestDigest(patch: UpdateWorkspaceInput): string; export declare function preconditionDigest(input: { project_id: string; expected_revision: string; }): string; export declare function deriveGuardedIdempotencyKey(input: { operation_id: string; step_id: string; direction: GuardedProjectMutationDirection; target_id: string; request_digest: string; precondition_digest: string; }): string; export declare function normalizePatch(patch: UpdateWorkspaceInput): UpdateWorkspaceInput; export declare function workspaceRevision(workspace: Workspace): string; export declare function workspaceSnapshot(workspace: Workspace): JsonObject; export declare function rowToGuardedReceipt(row: GuardedProjectMutationReceiptRow): GuardedProjectMutationReceipt; export declare function timedOut(startedAtMs: number, timeBudgetMs: number): boolean; export declare function responseControl(payload: unknown, bounds: GuardedProjectMutationBounds, startedAtMs: number, operation?: string, completeness?: Pick): GuardedProjectMutationControl; export declare function withResponseControl>(payload: T, bounds: GuardedProjectMutationBounds, startedAtMs: number, operation?: string, completeness?: Pick): T & { response_control: GuardedProjectMutationControl; }; export declare function buildGuardedProjectReadResult(project: Workspace, input: GuardedProjectReadRequest, startedAtMs: number, resourceLinks?: { links: ProjectResourceLink[]; max_items: number; collection_digest: string; }): GuardedProjectReadResult; export declare function buildReceiptId(input: { operation_id: string; step_id: string; direction: GuardedProjectMutationDirection; idempotency_key: string; outcome: string; target_id: string; suffix?: string; }): string; //# sourceMappingURL=guarded-project-mutation.d.ts.map