import { ChangeSet } from '../change-set/change-set.js'; import type { QuickFix } from './quick-fix.js'; export interface CombinedQuickFixes { /** * The changes of all quick fixes in appliedQuickFixes */ readonly changeSet: ChangeSet; /** * The quick fixes whose changes are included in changeSet */ readonly appliedQuickFixes: ReadonlyArray; /** * The quick fixes that were left out because their changes overlap with the changes of a quick * fix that comes earlier in the list * * Validating the project again after applying changeSet will report their messages again (if * they still apply), so they can be fixed in another pass. */ readonly skippedQuickFixes: ReadonlyArray; } /** * Combines the changes of multiple quick fixes into one change set that can be applied at once * * The quick fixes need to belong to messages of the same validation result. Quick fixes that would * change the same text as a quick fix that comes earlier in the list are skipped. Quick fixes that * add @suppress directives to the same node are merged into one change. * * This can be used to implement a "fix all" action. */ export declare function combineQuickFixes(quickFixes: Iterable): CombinedQuickFixes;