import { Store } from "@omnia/fx/stores";
import { VelcronAppDefinition, VelcronComponentDescriptor, VelcronDefinition } from "@omnia/fx-models";
import { AppValidationState, CodeEditorState, codeEditorTabs, editorModes, AppTreeItem, DataMemberAppTreeItem } from "../models";
export declare class VelcronEditorStore extends Store {
    appAsJson: import("@omnia/fx/stores").StoreState<string>;
    appData: import("@omnia/fx/stores").StoreState<object>;
    app: import("@omnia/fx/stores").StoreState<VelcronAppDefinition<object>>;
    appCacheKey: import("@omnia/fx/stores").StoreState<string>;
    appTreeOpenIds: import("@omnia/fx/stores").StoreState<string[]>;
    appTree: import("@omnia/fx/stores").StoreState<AppTreeItem[]>;
    editorMode: import("@omnia/fx/stores").StoreState<editorModes>;
    selectedAppTreeItem: import("@omnia/fx/stores").StoreState<AppTreeItem>;
    selectedAppTreeItemToCopy: import("@omnia/fx/stores").StoreState<AppTreeItem>;
    history: import("@omnia/fx/stores").StoreState<string[]>;
    showAddComponent: import("@omnia/fx/stores").StoreState<boolean>;
    showAddDataObject: import("@omnia/fx/stores").StoreState<boolean>;
    showShare: import("@omnia/fx/stores").StoreState<boolean>;
    codeEditor: import("@omnia/fx/stores").StoreState<CodeEditorState>;
    validation: import("@omnia/fx/stores").StoreState<AppValidationState>;
    builtInComponentDescriptions: import("@omnia/fx/stores").StoreState<{
        [name: string]: VelcronComponentDescriptor;
    }>;
    constructor();
    /**
     * Implementation of getters
     */
    getters: {
        getApp: () => any;
    };
    /**
     * Implementation of mutations
     */
    mutations: {
        appJson: (newState: string) => void;
        persistState: (jsonCode: string) => void;
        appTree: (newState: Array<AppTreeItem>) => void;
        appValidation: (newState: AppValidationState) => void;
        codeEditorTab: (newState: codeEditorTabs) => void;
        editorMode: (newState: editorModes) => void;
        syncState: () => void;
        setSelectedAppTreeItem: (key: string) => void;
        showAddComponent: (show: boolean) => void;
        showShare: (show: boolean) => void;
        showAddDataObject: (show: boolean) => void;
        addComponent: (target: AppTreeItem, descriptor: VelcronComponentDescriptor, definition?: VelcronDefinition) => void;
        deleteComponent: (target: AppTreeItem) => void;
        addDataMember: (target: DataMemberAppTreeItem, propertyName: string, value: any) => void;
        deleteDataMember: (target: DataMemberAppTreeItem) => void;
        renameDataMember: (target: DataMemberAppTreeItem, newName: string) => void;
        updateDataMemberValue: (target: DataMemberAppTreeItem, newValue: any) => void;
        copyComponent: (target: AppTreeItem) => void;
        pasteComponent: (target: AppTreeItem) => void;
        reloadApp: () => void;
        updateHistory: () => void;
    };
    /**
     * Implementation of actions
     */
    actions: {};
    private getTreeItemNode;
    private buildUiTree;
    private buildDataMembersRecursive;
    private buildDefinitionTreeRecursive;
    private getDataMemberDescriptor;
    private getComponentDescriptor;
    onActivated(): void;
    onDisposing(): void;
}
