import { ResultType, IcomponentNameToTransform, InodesTransformInfo } from '../data-type';
import { ObjectController } from '../object-controller';
/**
 * @public
 * @class InstanceClass
 * @extends ObjectController
 */
export declare class InstanceClass extends ObjectController implements instanceAbstractClass {
    private apiClassName;
    /**
     * @public
     * @async
     * @function DeleteComponents
     * @param {Array<string>} componentNames
     * @returns {Promise<ResultType>}
     */
    DeleteComponents(componentNames: Array<string>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetComponentsTransform
     * @param {Array<string>} componentNames
     * @param {IinstanceTransform} transform
     * @returns {Promise<ResultType>}
     */
    SetComponentsTransform(componentNameToTransform: IcomponentNameToTransform): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function DeleteNodes
     * @param {Array<number>} nodeIds
     * @returns {Promise<ResultType>}
     */
    DeleteNodes(nodeIds: Array<number>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function SetNodesTransform
     * @param {Array<InodesTransformInfo>} nodesTransformInfo
     * @returns {Promise<ResultType>}
     */
    SetNodesTransform(nodesTransformInfo: Array<InodesTransformInfo>): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function OutlineComponents
     * @param {Array<string>} componentNames
     * @param {boolean} bOutline optional (default is true)
     * @returns {Promise<ResultType>}
     */
    OutlineComponents(componentNames: Array<string>, bOutline?: boolean): Promise<ResultType>;
    /**
     * @public
     * @async
     * @function FocusComponents
     * @param {Array<string>} componentNames
     * @returns {Promise<ResultType>}
     */
    FocusComponents(componentNames: Array<string>): Promise<ResultType>;
}
declare abstract class instanceAbstractClass {
    abstract DeleteComponents: (componentNames: Array<string>) => Promise<ResultType>;
    abstract SetComponentsTransform: (componentNameToTransform: IcomponentNameToTransform) => Promise<ResultType>;
    abstract DeleteNodes: (nodeIds: Array<number>) => Promise<ResultType>;
    abstract SetNodesTransform: (nodesTransformInfo: Array<InodesTransformInfo>) => Promise<ResultType>;
    abstract OutlineComponents: (componentNames: Array<string>, bOutline: boolean) => Promise<ResultType>;
    abstract FocusComponents: (componentNames: Array<string>) => Promise<ResultType>;
}
export {};
