#!/usr/bin/env node
/**
 * TS policy checker — IRONCLAD M9 enforcement gate.
 *
 * Enforces type safety rules across source files (src/, bin/, scripts/) and
 * public type declarations (index.d.ts).
 *
 * ZERO-TOLERANCE rules (must be 0, no exceptions):
 *   1. Ban @ts-ignore — use @ts-expect-error instead.
 *   2. Ban z.any() — use z.custom() or z.unknown() instead.
 *   3. Ban TODO(ts-cleanup) tags — all must be resolved.
 *   4. Ban `any` in public type declarations (index.d.ts type positions).
 *
 * RATCHETED rules (count locked by contracts/any-fence.json — can ONLY decrease):
 *   R1. `any` keyword in JSDoc type expressions.
 *   R2. Bare wildcard star in JSDoc type expressions.
 *   R3. Embedded star as type parameter in JSDoc generics.
 *
 * The ratchet prevents any NEW wildcards from being introduced. Existing count
 * is locked — if you fix one, update the fence downward. If the count INCREASES,
 * the gate blocks your push.
 *
 * Exit 0 when clean, 1 when violations found.
 */
/**
 * Strips inline `//` and same-line block comments before token scanning.
 *
 * @param {string} line
 * @returns {string}
 */
export declare function stripInlineComments(line: string): string;
/**
 * Finds `any` violations in public declarations after removing inline comments.
 *
 * @param {string} content
 * @param {string} [fileName]
 * @returns {string[]}
 */
export declare function findDeclarationAnyViolations(content: string, fileName?: string): string[];
