import { type HygieneCommonOptions } from "../shared.js"; export interface AuditLargeFieldsOptions extends HygieneCommonOptions { /** Size threshold in bytes for a field to count as "large". Default 100_000. */ threshold?: number; /** 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"; /** Include __-prefixed system fields in the size check. Off by default. */ includeSystemFields?: boolean; } export interface LargeFieldReport { itemId: string; path: string; templateName: string | null; language: string | null; largeFields: Array<{ fieldName: string; size: number; }>; totalSize: number; } /** * Audit content for field values exceeding a size threshold. * * Common culprits: RichText pasted from Word (huge HTML blobs), raw * JSON dumps in text fields, base64-embedded images in HTML. * Defaults to 100KB per field — the byte size where renders start * impacting LCP and authoring tools start lagging. * * Strategy: * 1. Use `scanItemsAndFields` to enumerate + fetch fields. * 2. For each non-system field, byte-length check against threshold. * 3. Report per-item; sort by total bloated bytes desc. */ export declare const runAuditLargeFields: (options: AuditLargeFieldsOptions) => Promise;