import { Extension, RangeSet } from '@codemirror/state'; import { EditorView, GutterMarker } from '@codemirror/view'; import { DiffType } from 'api-smart-diff'; import { DiffBlockData } from '../../diff-builder/common'; import { DiffData } from '../types'; /** Gutter marker for diff changes */ declare class DiffGutterMarker extends GutterMarker { readonly diffType: DiffType; readonly action: "add" | "remove" | "replace" | "rename"; constructor(diffType: DiffType, action: "add" | "remove" | "replace" | "rename"); toDOM(): HTMLDivElement; eq(other: DiffGutterMarker): boolean; } /** Build gutter markers from diff blocks */ declare function buildGutterMarkers(view: EditorView, blocks: DiffBlockData[], side: "before" | "after" | "unified", filters: DiffType[]): RangeSet; /** Create diff gutter extension */ export declare function diffGutter(_data: DiffData): Extension; /** Theme styles for diff gutter */ export declare const diffGutterTheme: Extension; export { DiffGutterMarker, buildGutterMarkers };