import type { KindRegistry } from '../model/kind-registry.js'; import type { RelationshipRegistry } from '../model/relationship-registry.js'; export type LintSeverity = 'error' | 'warning'; export interface LintFinding { severity: LintSeverity; /** Template id, e.g. "iso-14971/fmea" */ template: string; /** Source file path */ file: string; /** 1-based query block index within the template, when the finding is in one */ block?: number; /** Short machine-readable rule id */ rule: string; message: string; } export interface LintOptions { /** Resolved ontology kinds. Omit to run structural checks only. */ kindRegistry?: KindRegistry; /** * Resolved ontology relationship types. Omit to skip the checks that only * apply to `select: relationships` blocks. */ relationshipRegistry?: RelationshipRegistry; /** Layer ids the ontology actually defines. Omit to skip layer checks. */ knownLayers?: Set; /** Restrict to templates whose id starts with this prefix. */ filter?: string; } export interface LintReport { findings: LintFinding[]; templatesChecked: number; ontologyAware: boolean; } /** * Lint one template's raw content. * * Separate from `lintTemplates` so the rules can be exercised against fixture * strings rather than only against whatever happens to be on disk. */ export declare function lintTemplateContent(templateId: string, file: string, raw: string, options?: LintOptions, templatesDir?: string): LintFinding[]; export declare function lintTemplates(options?: LintOptions): LintReport; //# sourceMappingURL=template-lint.d.ts.map