import type { Voice } from '../lib/db.js'; export interface VoiceLintIssue { severity: 'error' | 'warning'; rule: string; message: string; matches: string[]; line?: number; } export interface VoiceLintReport { score: number; passed: boolean; issues: VoiceLintIssue[]; stats: { sentences: number; avgSentenceWords: number; longestSentenceWords: number; passiveVoiceCount: number; }; /** False when the voice defines no lint-affecting rules (no banned terms, * constructions, style rules, preferred terminology, or length limits) — * a 100/100 PASS on such a voice is vacuous, not an endorsement. */ configured: boolean; } /** * Deterministic, rule-based lint of a draft against a voice. No LLM involved — * every finding is reproducible. */ export declare function lintDraft(draft: string, voice: Voice): VoiceLintReport; /** Human-readable render of the lint report for tool output. */ export declare function renderLintReport(report: VoiceLintReport): string; /** Render the voice as a compact markdown guide for prompt/resource embedding. */ export declare function renderVoiceGuide(voice: Voice): string; //# sourceMappingURL=voice.d.ts.map