/**
 * Input Sanitisation — Layer 1
 *
 * First line of defence: strips dangerous control characters, null bytes,
 * zero-width characters, BOM markers, and other byte-level threats before
 * any pattern matching or analysis runs.
 *
 * Returns sanitised content + a list of what was stripped.
 */
import type { ThreatIndicator } from '../types.js';
export interface SanitisationResult {
    /** Content with dangerous characters removed */
    sanitised: string;
    /** Whether any sanitisation was applied */
    modified: boolean;
    /** What was stripped */
    strippedCategories: SanitisationCategory[];
    /** Threat indicators to add to pipeline */
    threatIndicators: ThreatIndicator[];
}
export type SanitisationCategory = 'null_byte' | 'control_char' | 'zero_width' | 'bom' | 'bidi_override' | 'homoglyph_separator';
/**
 * Sanitise input content by stripping dangerous byte-level patterns.
 *
 * Designed to be fast and non-blocking — runs before all other layers.
 */
export declare function sanitiseInput(content: string): SanitisationResult;
