/**
 * Versioned JSON schemas for OSS todos entities and contract validation.
 * Local-only — no hosted API required to validate or export schemas.
 */
export declare const JSON_SCHEMA_CATALOG_VERSION = "todos.json_schema_catalog.v1";
export declare const SCHEMA_SEMVER = "1.0.0";
export declare const SCHEMA_ENTITIES: readonly ["task", "project", "plan", "agent_run", "run_record", "verification_evidence", "handoff", "import_export_bundle", "mcp_response"];
export type SchemaEntity = (typeof SCHEMA_ENTITIES)[number];
export interface JsonSchemaProperty {
    type?: string | string[];
    enum?: readonly string[];
    items?: JsonSchemaProperty;
    properties?: Record<string, JsonSchemaProperty>;
    required?: string[];
    additionalProperties?: boolean;
    description?: string;
}
export interface JsonSchemaDefinition {
    $schema: string;
    $id: string;
    title: string;
    schema_version: string;
    version: string;
    type: "object";
    required: string[];
    properties: Record<string, JsonSchemaProperty>;
    additionalProperties?: boolean;
}
export interface SchemaValidationIssue {
    path: string;
    message: string;
}
export interface SchemaValidationResult {
    entity: SchemaEntity;
    schema_version: string;
    valid: boolean;
    issues: SchemaValidationIssue[];
}
export interface SchemaCompatibilityResult {
    entity: SchemaEntity;
    from_version: string;
    to_version: string;
    compatible: boolean;
    breaking_changes: string[];
    notes: string[];
}
export declare const JSON_SCHEMAS: Record<SchemaEntity, JsonSchemaDefinition>;
/** Contract fixtures used by compatibility tests. */
export declare const SCHEMA_CONTRACT_FIXTURES: Record<SchemaEntity, Record<string, unknown>>;
export declare function validateSchemaPayload(entity: SchemaEntity, payload: unknown): SchemaValidationResult;
export declare function validateAllContractFixtures(): SchemaValidationIssue[];
export declare function checkSchemaCompatibility(entity: SchemaEntity, fromVersion: string, toVersion: string): SchemaCompatibilityResult;
export declare function listJsonSchemas(): Array<{
    entity: SchemaEntity;
    schema_version: string;
    $id: string;
    title: string;
}>;
export declare function getJsonSchema(entity: SchemaEntity): JsonSchemaDefinition;
export declare function getSchemaSemverGuidance(): string;
export declare function exportSchemasToDirectory(dir: string): string[];
/** Wrap a DB/API record with schema_version for export consumers. */
export declare function wrapWithSchemaVersion<T extends Record<string, unknown>>(entity: SchemaEntity, record: T): T & {
    schema_version: string;
};
//# sourceMappingURL=json-schemas.d.ts.map