import type { CodeBlock } from '../../../domain/CodeBlock.js';
import { Violation } from '../../../domain/Violation.js';
import type { LanguageValidator, ValidationContext } from '../LanguageValidator.js';
/**
 * Validates JavaScript and TypeScript code blocks for common best-practice
 * issues (console usage, `var`, loose equality, unhandled async, missing
 * semicolons, undisclosed dependencies) and cross-block style consistency.
 */
export declare class JavaScriptValidator implements LanguageValidator {
    validate(block: CodeBlock, context: ValidationContext): Violation[];
    /**
     * Check for consistent code style across all JavaScript/TypeScript blocks in
     * a file.
     */
    validateConsistency(blocks: CodeBlock[], context: ValidationContext): Violation[];
    /** Find the end (closing brace) of a function starting at `startIndex`. */
    private findFunctionEnd;
    /** Whether a line is a statement that should end with a semicolon. */
    private shouldHaveSemicolon;
    /** Whether the block references a well-known external library. */
    private usesExternalDependencies;
}
//# sourceMappingURL=JavaScriptValidator.d.ts.map