import type { TypeCheckError } from "./types.js";
export type Suppressions = {
    /** True when `// @tc-nocheck` appears in the file's leading directive
     * region — silences all typecheck errors for the file. */
    nocheck: boolean;
    /** 0-indexed line numbers where typecheck errors should be suppressed —
     * matches the parser's `SourceLocation.line` convention. Populated for
     * every line *following* a `// @tc-ignore` comment. */
    ignoreLines: Set<number>;
};
/**
 * Scan source text for typecheck-suppression directives:
 *
 *   // @tc-nocheck   — must appear in the file's leading directive region
 *                     (only blank lines and other `//` comments before it);
 *                     suppresses every typecheck error in the file.
 *
 *   // @tc-ignore    — suppresses typecheck errors on the next line.
 *
 * Only `//`-style comments are recognized. Trailing comments on a line of
 * code do *not* count, matching TypeScript's `@ts-ignore` semantics.
 */
export declare function parseSuppressions(source: string): Suppressions;
/**
 * Drop errors covered by `suppressions`. Both `error.loc.line` and the
 * keys in `ignoreLines` are 0-indexed in the user's source.
 */
export declare function applySuppressions(errors: TypeCheckError[], suppressions: Suppressions): TypeCheckError[];
