import { OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { ComponentStudioStateService } from '../../services/component-studio-state.service';
import * as i0 from "@angular/core";
type SpecEditorMode = 'form' | 'json';
interface SpecFormModel {
    name: string;
    title: string;
    description: string;
    type: string;
    location: string;
    exampleUsage: string;
}
export declare class SpecEditorComponent implements OnInit, OnDestroy {
    State: ComponentStudioStateService;
    private cdr;
    Mode: SpecEditorMode;
    FormModel: SpecFormModel;
    ComponentTypes: string[];
    private stateChangedSub;
    constructor(State: ComponentStudioStateService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    SetMode(mode: SpecEditorMode): void;
    OnFormChanged(): void;
    OnJsonChanged(): void;
    ApplyChanges(): void;
    CancelChanges(): void;
    private syncSpecToForm;
    private syncFormToSpec;
    static ɵfac: i0.ɵɵFactoryDeclaration<SpecEditorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SpecEditorComponent, "mj-spec-editor", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=spec-editor.component.d.ts.map