import { Facet, FacetReader, StateField } from '@codemirror/state'; import { DiffType } from 'api-smart-diff'; import { DiffBlockData } from '../diff-builder/common'; import { BlockMapping, DiffConfig, DiffData, LineMapping } from '../types'; /** State for tracking diff data within the editor */ export interface DiffEditorState { blocks: DiffBlockData[]; lineMap: LineMapping[]; blockMap: BlockMapping[]; expandedBlocks: Set; selectedBlock: string | null; activeFilters: DiffType[]; filterFoldedBlocks: Set; displayMode: "inline" | "side-by-side"; format: "json" | "yaml"; side: "before" | "after" | "unified"; } export declare const setDiffDataEffect: import('@codemirror/state').StateEffectType; export declare const setSelectedBlockEffect: import('@codemirror/state').StateEffectType; export declare const toggleBlockExpandedEffect: import('@codemirror/state').StateEffectType; export declare const setExpandedBlocksEffect: import('@codemirror/state').StateEffectType>; export declare const setFiltersEffect: import('@codemirror/state').StateEffectType; export declare const setFilterFoldsEffect: import('@codemirror/state').StateEffectType>; export declare const setDisplayModeEffect: import('@codemirror/state').StateEffectType<"inline" | "side-by-side">; export declare const setFormatEffect: import('@codemirror/state').StateEffectType<"json" | "yaml">; export declare const setSideEffect: import('@codemirror/state').StateEffectType<"before" | "after" | "unified">; /** State field for diff data */ export declare const diffStateField: StateField; /** Facet for providing diff configuration */ export declare const diffConfigFacet: Facet, DiffConfig>; /** Get diff state from editor state */ export declare function getDiffState(state: { field: (field: StateField) => T; }): DiffEditorState; /** Get diff config from editor state */ export declare function getDiffConfig(state: { facet: (facet: FacetReader) => T; }): DiffConfig;