import type { Five } from '@realsee/five';
import * as BasePlugin from '../base/BasePluginWithData';
import type * as PluginType from './typings';
import type { ModelMakerBaseItem } from './item/baseItem';
export declare class Controller extends BasePlugin.Controller<PluginType.State, PluginType.EventMap, PluginType.ServerData, PluginType.ServerData> {
    state: PluginType.State;
    items: ModelMakerBaseItem[];
    protected data: PluginType.ServerData;
    private group;
    private tagRendererMap;
    private fiveDomEvents;
    private zFightingOffset;
    constructor(five: Five);
    load(serverData: PluginType.ServerData): Promise<void>;
    setState(targetState: Partial<PluginType.State>): void;
    getItemById(id: string | number): ModelMakerBaseItem;
    registerTagRenderer(map: Partial<Record<PluginType.ItemType, PluginType.ElementRenderer>>): void;
    enable(): void;
    disable(): void;
    show(): void;
    hide(): void;
    clear(): void;
    dispose(): void;
    private handleShow;
    private handleHide;
    private handleEnable;
    private handleDisable;
    private updateTagRenderer;
}
