import { ChangeDetectorRef } from '@angular/core';
import { Extension } from '@codemirror/state';
import { EditorView } from '@codemirror/view';
import { ComponentStudioStateService, CodeSection } from '../../services/component-studio-state.service';
import * as i0 from "@angular/core";
type CodeViewMode = 'current' | 'original' | 'diff';
export declare class CodeEditorPanelComponent {
    State: ComponentStudioStateService;
    private cdr;
    ActiveTabIndex: number;
    ViewMode: CodeViewMode;
    DiffExtensions: Extension[];
    DiffChunkCount: number;
    set DiffEditorRef(ref: {
        view?: EditorView;
    } | undefined);
    private diffView;
    constructor(State: ComponentStudioStateService, cdr: ChangeDetectorRef);
    get ActiveSection(): CodeSection | null;
    HasChanges(section: CodeSection): boolean;
    SelectTab(index: number): void;
    SetViewMode(mode: CodeViewMode): void;
    OnCodeChanged(): void;
    ApplyChanges(): void;
    CancelChanges(): void;
    CopyCode(): void;
    GoToNextChunk(): void;
    GoToPreviousChunk(): void;
    private updateChunkCount;
    private buildDiffExtensions;
    static ɵfac: i0.ɵɵFactoryDeclaration<CodeEditorPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CodeEditorPanelComponent, "mj-code-editor-panel", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=code-editor-panel.component.d.ts.map