/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { TreeState } from './TreeState.js';
import { type ConceptTreeNode, ElementConceptAttribute, ConceptNode } from '../server/models/ConceptTree.js';
import type { PureIDEStore } from './PureIDEStore.js';
import { ActionState, type GeneratorFn } from '@finos/legend-shared';
import type { TreeData } from '@finos/legend-art';
export declare class ConceptTreeState extends TreeState<ConceptTreeNode, ConceptNode> {
    readonly loadConceptActivity: ActionState;
    statusText?: string | undefined;
    nodeForRenameConcept?: ConceptTreeNode | undefined;
    nodeForMoveElement?: ConceptTreeNode | undefined;
    constructor(ideStore: PureIDEStore);
    setStatusText(value: string | undefined): void;
    setNodeForRenameConcept(value: ConceptTreeNode | undefined): void;
    setNodeForMoveElement(value: ConceptTreeNode | undefined): void;
    getRootNodes(): Promise<ConceptNode[]>;
    buildTreeData(rootNodes: ConceptNode[]): TreeData<ConceptTreeNode>;
    getChildNodes(node: ConceptTreeNode): Promise<ConceptNode[]>;
    processChildNodes(node: ConceptTreeNode, childNodes: ConceptNode[]): void;
    openNode(node: ConceptTreeNode): GeneratorFn<void>;
    pollConceptsActivity(): GeneratorFn<void>;
    pullConceptsActivity(): Promise<void>;
    revealConcept(path: string, options?: {
        /**
         * Only reveal packages, will skip element/property nodes
         */
        packageOnly?: boolean | undefined;
        forceOpenExplorerPanel?: boolean | undefined;
    }): GeneratorFn<void>;
    movePackageableElements(elementNodeAttributes: ElementConceptAttribute[], destinationPackage: string): Promise<void>;
    renameConcept(node: ConceptTreeNode, newName: string): Promise<void>;
}
//# sourceMappingURL=ConceptTreeState.d.ts.map