import type { ParsedPage, RuleResult, EntityMaskPattern } from "../../types.js"; export interface UniqueValueThresholds { /** Unique-content density below this fires (info). Default 0.20. */ passBelow: number; /** Density below this escalates to error. Default 0.12. */ errorBelow: number; } /** * Originality as a corpus-relative DENSITY, not an absolute count. Each distinct * token is weighted by normalized IDF (ln(N/df)/ln(N)) — 1 if page-exclusive, ~0 * if on every page — and averaged over the page's distinct tokens. A near- * duplicate / boilerplate page scores low regardless of corpus size or length; a * large original page stays high. Continuous, so it doesn't shuffle at the margin. * Volume is spam/thin-content's job; exact twins are spam/near-duplicate's. */ export declare function uniqueValueRule(pages: ParsedPage[], thresholds: UniqueValueThresholds, entityPatterns?: EntityMaskPattern[]): RuleResult[]; //# sourceMappingURL=unique-value.d.ts.map