import { type SchemaManifest } from "../model/ManifestGrammar.js"; import type { DiagnosticCode } from "../../kernel/diagnostic.js"; export type SchemaIndexAffinity = "TEXT" | "INTEGER" | "REAL"; export type SchemaIndexSource = "uniqueIndexes" | "indexes"; export interface ResolvedSchemaIndexField { readonly name: string; readonly affinity: SchemaIndexAffinity; } export interface ResolvedSchemaIndexDeclaration { readonly unique: boolean; readonly fields: readonly ResolvedSchemaIndexField[]; } export interface SchemaIndexProblem { readonly category: "shape" | "invalid" | "field-unknown"; readonly source?: SchemaIndexSource; readonly pointer: string; readonly value?: unknown; readonly expected: string; readonly candidates?: readonly string[]; readonly message: string; } export interface SchemaIndexCheckResult { readonly declarations: readonly ResolvedSchemaIndexDeclaration[]; readonly problems: readonly SchemaIndexProblem[]; } /** * Validate and resolve both Schema index declaration kinds in one pass. * This is deliberately internal to mantle-spec: parser, static validation, * DDL, and query helpers share the rules without adding a public catalog. */ export declare function checkSchemaIndexes(manifest: SchemaManifest): SchemaIndexCheckResult; export declare function schemaIndexDiagnosticCode(problem: SchemaIndexProblem, parserShape?: boolean): DiagnosticCode; //# sourceMappingURL=SchemaIndexChecker.d.ts.map