import { ChangeSet } from '../../change-set/change-set.js'; import type { AstNodeWithDirectives } from '../message.js'; import { Severity } from '../message.js'; import { QuickFix } from '../quick-fix.js'; import type { MessageCode } from './message-codes.js'; /** * A quick fix that adds a @suppress directive (or an argument value to it) for a message * * Multiple of these fixes for the same node edit the same directive, so they cannot be applied * together as separate changes. Use getSuppressChangeSet() to get a combined change set for them. */ export declare class SuppressQuickFix extends QuickFix { readonly severity: Severity; readonly code: MessageCode; readonly astNode: AstNodeWithDirectives; constructor(severity: Severity, code: MessageCode, astNode: AstNodeWithDirectives); } export declare function createSuppressQuickFix(severity: Severity, code: MessageCode, astNode: AstNodeWithDirectives | undefined): QuickFix | undefined; export interface SuppressEntry { readonly severity: Severity; readonly code: MessageCode; } /** * Gets the changes to suppress all the given codes on the given node * * Codes that are already suppressed are skipped, so this can generate an empty change set. */ export declare function getSuppressChangeSet(astNode: AstNodeWithDirectives, entries: ReadonlyArray): ChangeSet;