import type { KnowledgeItem } from './store.js'; import { KNOWLEDGE_GUARDED_WRITE_CONTRACT, type KnowledgeGuardedBinding, type KnowledgeGuardedBounds, type KnowledgePrivateEditApprovalGrant, type KnowledgePrivateInputDescriptor, type KnowledgePrivateItemProof } from './guarded-write-contract.js'; export declare const KNOWLEDGE_PRIVATE_REVIEW_SCHEMA: "hasna.knowledge.private-review.v1"; declare const KNOWLEDGE_PRIVATE_REVIEW_TOKEN_SCHEMA: "hasna.knowledge.private-review-token.v1"; export type KnowledgeReviewBindingState = 'legacy_unbound' | 'bound_to_requested'; export interface CreateKnowledgePrivateReviewDescriptorOptions { operation_id: string; step_id: string; binding: KnowledgeGuardedBinding; target_id: string; expected_version: number; expected_content_sha256: string; expected_binding_state: KnowledgeReviewBindingState; expires_in_ms?: number; } export interface KnowledgePrivateReviewRequest { contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; schema: typeof KNOWLEDGE_PRIVATE_REVIEW_SCHEMA; operation_id: string; step_id: string; binding: KnowledgeGuardedBinding; target_id: string; expected_version: number; expected_content_sha256: string; expected_binding_state: KnowledgeReviewBindingState; expires_at: string; } export interface KnowledgePrivateReviewDescriptor extends Readonly { readonly descriptor_id: string; toJSON(): KnowledgePrivateReviewRequest; } export interface KnowledgePrivateReviewEnvelope { descriptor: KnowledgePrivateReviewRequest; limits: KnowledgeGuardedBounds; } export interface KnowledgePrivateReviewAuthorization { schema: typeof KNOWLEDGE_PRIVATE_REVIEW_TOKEN_SCHEMA; request_digest: string; reviewer_actor: string; expires_at: string; token: string; } export interface KnowledgePrivateReviewProof { contract: typeof KNOWLEDGE_GUARDED_WRITE_CONTRACT; kind: 'review'; item_count: 1; request_digest: string; binding_state: KnowledgeReviewBindingState; item: KnowledgePrivateItemProof; } export type KnowledgePrivateReviewer = (item: Readonly) => void | Promise; export type KnowledgePrivateEditReviewer = (item: Readonly) => KnowledgePrivateInputDescriptor | Promise; export interface KnowledgePrivateEditApprovalEnvelope { review_authorization: KnowledgePrivateReviewAuthorization; descriptor: Omit; deterministic_key: string; approved_by: string; limits: KnowledgeGuardedBounds; } export interface KnowledgePrivateEditApproval extends Readonly> { /** Process-private provenance handle. It is not serialized. */ readonly descriptor_id: string; toJSON(): Omit; } export declare class KnowledgePrivateReviewError extends Error { readonly code: string; readonly status?: number; constructor(code: string, status?: number); } export declare function createKnowledgePrivateReviewDescriptor(options: CreateKnowledgePrivateReviewDescriptorOptions): KnowledgePrivateReviewDescriptor; export {};