import { type HygieneCommonOptions } from "../shared.js"; export interface AuditMissingMetaOptions extends HygieneCommonOptions { /** * Required field names that should have a non-empty value on every * scanned item. Defaults to the common SEO set: meta-title, * meta-description, og-image, og-title. */ requiredFields?: string[]; /** Content root. Default `/sitecore/content`. */ 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 (or pattern). When set, only items * whose templateName matches are checked. Default: all items — * this can be noisy, so most operators will scope to "Page" * templates with `--template-pattern Page`. */ templatePattern?: string; } export interface MissingMetaReport { itemId: string; path: string; templateName: string | null; language: string | null; missingFields: string[]; } /** * Audit content for items missing required (SEO) field values. * * Strategy: * 1. Enumerate items via `scanItemsAndFields`. * 2. For each, check that every required field is present and * non-empty (whitespace-only counts as missing). * 3. Field-name matching is case-insensitive and falls back to * Title-Case-To-Hyphenated variants ("Meta Description" ↔ * "meta-description") to tolerate template naming styles. * * The default required set is SEO-oriented. Pass `--required-fields * "title,banner-image,...` to define your own per-project policy. * * `--template-pattern` scopes the check — typically you want to * apply this only to Page templates, not Datasource items. */ export declare const runAuditMissingMeta: (options: AuditMissingMetaOptions) => Promise;