import { AcApContext, AcEdCommand } from '@mlightcad/cad-simple-viewer'; import type { AcUiDockPanel } from '../ui/AcUiDockPanel'; /** Shared interface for layer UI controllers. */ export interface AcUiLayerUiController { /** Toggles layer UI from the `layer` CAD command. */ toggleFromCommand(): void; /** Hides or closes layer UI (used by `close-layer-manager` event). */ hide(): void; /** Updates labels after a locale change. */ refreshLocale(): void; } /** * Layer UI controller that opens the layers tab in a dock panel. */ export declare class AcUiLayerDockController implements AcUiLayerUiController { private readonly dockPanel; private readonly layersTabId; private readonly handleCloseLayerManager; /** * @param dockPanel - Dock panel hosting the layers tab. * @param layersTabId - Tab id registered for the layer list. */ constructor(dockPanel: AcUiDockPanel, layersTabId?: string); /** Opens the dock panel and activates the layers tab. */ toggleFromCommand(): void; /** Closes the dock panel. */ hide(): void; /** Refreshes dock panel locale (including tab labels). */ refreshLocale(): void; /** Removes event listeners. */ destroy(): void; } /** Actions invoked by the `layer` command to prepare and open layer UI in the dock. */ export interface AcUiLayerCommandActions { /** Ensures the dock panel and layers tab exist before toggling. */ prepare(): void; /** Activates the layers tab in the dock panel. */ toggle(): void; } /** Mutable holder so the `layer` command stays registered while the UI mode switches. */ export declare class AcUiLayerUiControllerHolder implements AcUiLayerUiController { /** Active layer UI controller delegate. */ current?: AcUiLayerUiController; toggleFromCommand(): void; hide(): void; refreshLocale(): void; } /** * Command that opens the layer manager in the dock panel when it is closed. */ export declare class AcApLayerUiCmd extends AcEdCommand { private readonly actions; /** * @param actions - Prepare and toggle callbacks wired by the plugin. */ constructor(actions: AcUiLayerCommandActions); /** * Ensures the dock panel is ready, then opens or focuses the layers tab. * * @param _context - Application context (unused). */ execute(_context: AcApContext): Promise; } //# sourceMappingURL=AcApLayerUiCmd.d.ts.map