import { type HygieneCommonOptions } from "../shared.js"; export interface AuditEmptyLinksOptions extends HygieneCommonOptions { root?: string; index?: string; limit?: number; includeSystem?: boolean; language?: string; batchSize?: number; concurrency?: number; pageParallelism?: number; cache?: boolean; exclude?: string[]; since?: string; owner?: string; baseline?: boolean; output?: string; format?: "json" | "csv" | "markdown"; /** * Restrict by template name pattern. Default scans every item. * Most operators want to scope this — e.g. `--template-pattern * CTA|Button|Card` — because every Page template has at least one * "navigation" link field that's expected to be empty on standalone * landing pages. */ templatePattern?: string; } export interface EmptyLinkReport { itemId: string; path: string; templateName: string | null; language: string | null; emptyFields: Array<{ fieldName: string; reason: "no-link-tag" | "empty-attributes"; }>; } export declare const runAuditEmptyLinks: (options: AuditEmptyLinksOptions) => Promise;