import type { LocalTargetKey } from "../annotations.js"; import type { Diagnostic } from "../diagnostics/types.js"; import type { MelEditResult, MelTextEdit } from "./compile-fragment-types.js"; export type MaterializedEdit = { readonly edits: readonly MelTextEdit[]; readonly changedTargets: readonly LocalTargetKey[]; readonly diagnostics: readonly Diagnostic[]; }; export declare function validateThenEdit(diagnostics: readonly Diagnostic[], makeEdit: () => MaterializedEdit): MaterializedEdit; export declare function preMaterializationFailure(baseSource: string, diagnostics: readonly Diagnostic[]): MelEditResult; export declare function materializationSuccess(edits: readonly MelTextEdit[], changedTargets: readonly LocalTargetKey[]): MaterializedEdit; export declare function materializationFailure(...diagnostics: Diagnostic[]): MaterializedEdit;