import { z } from 'zod'; /** * Complete 22-field metadata schema */ export declare const MetadataSchema: z.ZodObject<{ title: z.ZodString; tier: z.ZodEnum<["standard" | "guide" | "admin" | "example" | "reference", ...("standard" | "guide" | "admin" | "example" | "reference")[]]>; domains: z.ZodArray; audience: z.ZodDefault, "many">>; tags: z.ZodDefault>; } & { status: z.ZodEnum<["draft", "active", "deprecated", "archived"]>; last_updated: z.ZodString; version: z.ZodString; } & { purpose: z.ZodOptional; related_docs: z.ZodOptional>; load_priority: z.ZodOptional; } & { author: z.ZodOptional; maintainer: z.ZodOptional; review_frequency: z.ZodOptional>; } & { implementation_status: z.ZodOptional>; tested: z.ZodOptional; production_ready: z.ZodOptional; } & { estimated_read_time: z.ZodOptional; word_count: z.ZodOptional; last_validated: z.ZodOptional; backlinks: z.ZodOptional>; }, "strip", z.ZodTypeAny, { domains: string[]; title: string; tier: "standard" | "guide" | "admin" | "example" | "reference"; status: "draft" | "active" | "deprecated" | "archived"; audience: ("devops" | "admin" | "all" | "developers")[]; tags: string[]; last_updated: string; version: string; purpose?: string | undefined; related_docs?: string[] | undefined; load_priority?: number | undefined; author?: string | undefined; maintainer?: string | undefined; review_frequency?: "weekly" | "monthly" | "quarterly" | "annually" | undefined; implementation_status?: "complete" | "deprecated" | "planned" | "in_progress" | undefined; tested?: boolean | undefined; production_ready?: boolean | undefined; estimated_read_time?: string | undefined; word_count?: number | undefined; last_validated?: string | undefined; backlinks?: string[] | undefined; }, { domains: string[]; title: string; tier: "standard" | "guide" | "admin" | "example" | "reference"; status: "draft" | "active" | "deprecated" | "archived"; last_updated: string; version: string; audience?: ("devops" | "admin" | "all" | "developers")[] | undefined; tags?: string[] | undefined; purpose?: string | undefined; related_docs?: string[] | undefined; load_priority?: number | undefined; author?: string | undefined; maintainer?: string | undefined; review_frequency?: "weekly" | "monthly" | "quarterly" | "annually" | undefined; implementation_status?: "complete" | "deprecated" | "planned" | "in_progress" | undefined; tested?: boolean | undefined; production_ready?: boolean | undefined; estimated_read_time?: string | undefined; word_count?: number | undefined; last_validated?: string | undefined; backlinks?: string[] | undefined; }>; export type DocumentMetadata = z.infer; /** * Partial schema for documents that may have incomplete metadata */ export declare const PartialMetadataSchema: z.ZodObject<{ title: z.ZodOptional; tier: z.ZodOptional>; domains: z.ZodOptional>; audience: z.ZodOptional, "many">>>; tags: z.ZodOptional>>; status: z.ZodOptional>; last_updated: z.ZodOptional; version: z.ZodOptional; purpose: z.ZodOptional>; related_docs: z.ZodOptional>>; load_priority: z.ZodOptional>; author: z.ZodOptional>; maintainer: z.ZodOptional>; review_frequency: z.ZodOptional>>; implementation_status: z.ZodOptional>>; tested: z.ZodOptional>; production_ready: z.ZodOptional>; estimated_read_time: z.ZodOptional>; word_count: z.ZodOptional>; last_validated: z.ZodOptional>; backlinks: z.ZodOptional>>; }, "strip", z.ZodTypeAny, { domains?: string[] | undefined; title?: string | undefined; tier?: "standard" | "guide" | "admin" | "example" | "reference" | undefined; status?: "draft" | "active" | "deprecated" | "archived" | undefined; audience?: ("devops" | "admin" | "all" | "developers")[] | undefined; tags?: string[] | undefined; last_updated?: string | undefined; version?: string | undefined; purpose?: string | undefined; related_docs?: string[] | undefined; load_priority?: number | undefined; author?: string | undefined; maintainer?: string | undefined; review_frequency?: "weekly" | "monthly" | "quarterly" | "annually" | undefined; implementation_status?: "complete" | "deprecated" | "planned" | "in_progress" | undefined; tested?: boolean | undefined; production_ready?: boolean | undefined; estimated_read_time?: string | undefined; word_count?: number | undefined; last_validated?: string | undefined; backlinks?: string[] | undefined; }, { domains?: string[] | undefined; title?: string | undefined; tier?: "standard" | "guide" | "admin" | "example" | "reference" | undefined; status?: "draft" | "active" | "deprecated" | "archived" | undefined; audience?: ("devops" | "admin" | "all" | "developers")[] | undefined; tags?: string[] | undefined; last_updated?: string | undefined; version?: string | undefined; purpose?: string | undefined; related_docs?: string[] | undefined; load_priority?: number | undefined; author?: string | undefined; maintainer?: string | undefined; review_frequency?: "weekly" | "monthly" | "quarterly" | "annually" | undefined; implementation_status?: "complete" | "deprecated" | "planned" | "in_progress" | undefined; tested?: boolean | undefined; production_ready?: boolean | undefined; estimated_read_time?: string | undefined; word_count?: number | undefined; last_validated?: string | undefined; backlinks?: string[] | undefined; }>; export type PartialDocumentMetadata = z.infer; /** * Required fields that must always be present */ export declare const REQUIRED_FIELDS: readonly ["title", "tier", "domains", "status", "last_updated", "version"]; /** * Optional fields with their default values */ export declare const OPTIONAL_FIELDS_DEFAULTS: Partial; /** * Auto-generated fields that should not be manually edited */ export declare const AUTO_GENERATED_FIELDS: readonly ["estimated_read_time", "word_count", "last_validated", "backlinks"]; /** * All 22 field names */ export declare const ALL_METADATA_FIELDS: readonly ["title", "tier", "domains", "audience", "tags", "status", "last_updated", "version", "purpose", "related_docs", "load_priority", "author", "maintainer", "review_frequency", "implementation_status", "tested", "production_ready", "estimated_read_time", "word_count", "last_validated", "backlinks"]; export type MetadataField = (typeof ALL_METADATA_FIELDS)[number]; /** * Validate metadata against the schema */ export declare function validateMetadata(data: unknown): { valid: boolean; errors: string[]; data?: DocumentMetadata; }; /** * Validate partial metadata (for documents being fixed) */ export declare function validatePartialMetadata(data: unknown): { valid: boolean; errors: string[]; data?: PartialDocumentMetadata; }; /** * Get missing required fields */ export declare function getMissingRequiredFields(data: Record): string[]; /** * Get all missing fields (both required and optional) */ export declare function getMissingFields(data: Record): { required: string[]; optional: string[]; }; /** * Calculate metadata completeness percentage */ export declare function calculateMetadataCompleteness(data: Record): number; /** * Get field category */ export declare function getFieldCategory(field: MetadataField): 'core' | 'status' | 'discovery' | 'ownership' | 'implementation' | 'auto'; //# sourceMappingURL=schema.d.ts.map