export type Platform = "windows" | "macos" | "linux" | "wsl"; /** Locales with full CLI UI strings; rule-level i18n falls back to English per field. */ export type Locale = "en" | "zh-CN" | "ja"; export type Severity = "low" | "medium" | "high"; export type DoctorStatus = "ok" | "warning" | "fail"; export interface TextMatcher { contains?: string; regex?: string; flags?: string; weight?: number; } export interface DoctorMatcher { checkIds?: string[]; categories?: string[]; statuses?: DoctorStatus[]; } export interface LocalizedRule { title?: string; summary?: string; explanation?: string; actions?: string[]; } export interface RuleLink { type: "github_issue" | "docs" | "other"; url: string; label?: string; } export interface Rule { id: string; title: string; category: string; severity: Severity; platforms?: Platform[]; codexVersions?: string[]; lastVerified?: string; source?: string; deprecated?: boolean; deprecationReason?: string; replacedBy?: string; match: { any: TextMatcher[]; all: TextMatcher[]; doctor?: DoctorMatcher; }; summary: string; explanation?: string; actions: string[]; links: RuleLink[]; tags: string[]; i18n: Record; } /** True when the reported Codex version satisfies any expression of the rule. */ export declare function codexVersionSatisfies(version: string | undefined, expressions: string[] | undefined): boolean; export declare function validateRule(value: unknown): Rule; //# sourceMappingURL=schema.d.ts.map