/** * Size validation checks for the pre-scanner. * Validates input size, line count, and line length. * * @module pre-scanner/checks/size-check */ import type { PreScannerConfig } from '../config'; import type { ScanState } from '../scan-state'; /** * Check input size against limits. * This is the first check and should be very fast. * * @param source - The source code to check * @param config - Pre-scanner configuration * @param state - Scan state for recording issues */ export declare function checkInputSize(source: string, config: PreScannerConfig, state: ScanState): void; /** * Check for null bytes in input (binary data or attack indicator). * Null bytes are ALWAYS blocked regardless of configuration. * * @param source - The source code to check * @param state - Scan state for recording issues */ export declare function checkNullBytes(source: string, state: ScanState): void; /** * Check line count and line lengths. * Iterates through lines once and validates both counts. * * @param source - The source code to check * @param config - Pre-scanner configuration * @param state - Scan state for recording issues */ export declare function checkLines(source: string, config: PreScannerConfig, state: ScanState): void; /** * Perform all size-related checks in sequence. * Stops early if any check fails. * * @param source - The source code to check * @param config - Pre-scanner configuration * @param state - Scan state for recording issues */ export declare function performSizeChecks(source: string, config: PreScannerConfig, state: ScanState): void;