import { SchemaResolver } from '../schema/index.js'; import type { CompatibilityStatus } from '../schema/compatibility.js'; import type { SchemaBinding, DatasetDiagnostic, Digest } from './types.js'; export declare const DATASET_CONTRACT_SCHEMA_ID = "https://aiwg.io/schemas/dataset/dataset-contracts.v1.schema.json"; export declare const DATASET_GOVERNANCE_SCHEMA_ID = "https://aiwg.io/schemas/dataset/dataset-schema-governance.v1.schema.json"; export declare const DATASET_GOVERNANCE_VERSION: "aiwg.dataset-schema-governance/v1"; export type DatasetBoundary = 'adapter-config' | 'discovered-record' | 'checkpoint' | 'processing-plan' | 'processing-run' | 'run-receipt' | 'lineage' | 'exchange'; export interface DatasetSchemaCandidate { schemaVersion: typeof DATASET_GOVERNANCE_VERSION; kind: 'DatasetSchemaCandidate'; id: string; status: 'candidate'; sourceRevisionId: string; inferredSchema: Record; inferredSchemaDigest: Digest; inference: { method: string; tool: string; toolVersion: string; runId?: string; }; observedAt: string; } export interface DatasetSchemaPromotionReceipt { schemaVersion: typeof DATASET_GOVERNANCE_VERSION; kind: 'DatasetSchemaPromotionReceipt'; id: string; status: 'promoted'; candidateId: string; candidateDigest: Digest; promotedSchema: Required; reviewer: string; reviewedAt: string; decisionEvidence: string; compatibility: { status: CompatibilityStatus; baseline?: string; reasons: string[]; }; } export interface DatasetSchemaImpactTarget { target: 'adapter' | 'checkpoint-state' | 'processing-plan' | 'index' | 'derived-artifact' | 'consumer'; disposition: 'compatible' | 'review-required' | 'migration-required'; reason: string; } export interface DatasetSchemaImpactReport { schemaVersion: typeof DATASET_GOVERNANCE_VERSION; kind: 'DatasetSchemaImpactReport'; schemaId: string; baseline: string; compatibility: { status: CompatibilityStatus; reasons: string[]; }; targets: DatasetSchemaImpactTarget[]; } export type DatasetSchemaGovernanceRecord = DatasetSchemaCandidate | DatasetSchemaPromotionReceipt | DatasetSchemaImpactReport; export declare function createDatasetSchemaCandidate(input: Omit): DatasetSchemaCandidate; export declare function promoteDatasetSchemaCandidate(candidate: DatasetSchemaCandidate, review: Omit): DatasetSchemaPromotionReceipt; export declare function assessDatasetSchemaImpact(schemaId: string, baseline: string, before: unknown, after: unknown): DatasetSchemaImpactReport; export declare function validateDatasetGovernanceRecord(value: unknown): DatasetDiagnostic[]; /** Catalog-backed validation for every dataset trust boundary. */ export declare class DatasetBoundaryValidator { readonly rootDir: string; readonly resolver: SchemaResolver; private readonly validator; constructor(rootDir?: string); validate(boundary: DatasetBoundary, binding: SchemaBinding, value: unknown): DatasetDiagnostic[]; validateBinding(boundary: DatasetBoundary, binding: SchemaBinding): DatasetDiagnostic[]; } //# sourceMappingURL=schema-governance.d.ts.map