import { type HygieneCommonOptions } from "../shared.js"; export interface AuditDatasourceMissingOptions extends HygieneCommonOptions { root?: string; index?: string; limit?: number; includeSystem?: boolean; batchSize?: number; concurrency?: number; pageParallelism?: number; cache?: boolean; /** * Whether to flag Sitecore-query datasources (values prefixed with * `query:`). They can't be resolved statically. Default false — * skip them; setting true emits them as a "skipped" diagnostic. */ reportQueryDatasources?: boolean; } export interface DatasourceMissingReport { itemId: string; path: string; templateName?: string | null; language?: string | null; missingDatasources: Array<{ fieldName: string; renderingId: string | null; datasource: string; }>; } /** * Audit page items for rendering datasources that don't resolve. * * Uses `scanItemsAndFields` for the enumeration + field-read pipeline * (concurrency, batch size, page parallelism, optional cache all come * from there). Parses `__Renderings` / `__Final Renderings` XML and * resolves the embedded `ds=` / `s:ds=` attribute values against the * tenant's item index. * * Datasource values come in three shapes — paths, bare GUIDs, and * `query:` selectors. Paths are resolved via batched `_fullpath` * searches; GUIDs via `itemsExistBatch`; `query:` selectors are * skipped by default (or emitted as diagnostics with * `--report-query-datasources`). */ export declare const runAuditDatasourceMissing: (options: AuditDatasourceMissingOptions) => Promise;