import { AcApContext } from '../../app'; import { AcEdCommand } from '../../editor'; /** * AutoCAD-like `LAYFRZ` command. * * The command repeatedly asks the user to pick an entity and freezes the * corresponding layer. It also supports the AutoCAD-style `Settings` and * `Undo` branches during the same command session. * * Current viewer limitations: * - Only one global viewport is available, so `Vpfreeze` behaves like * `Freeze`. * - Nested block/xref sub-entity picking is not exposed yet, so the block * selection setting is stored for future use but does not currently change * the resolved target layer. */ export declare class AcApLayerFreezeCmd extends AcEdCommand { private static _settings; private _history; private _vpfreezeHintShown; /** * Creates a write-enabled `LAYFRZ` command instance. */ constructor(); /** * Runs the interactive freeze-layer workflow until the user cancels. * * The command keeps its per-run undo stack in memory and reuses the static * settings selected in previous `LAYFRZ` invocations. * * @param context - Active application context used to read and update the current drawing. * @returns Resolves when the command loop ends. */ execute(context: AcApContext): Promise; /** * Sends a localized status message through the command-line output. * * @param message - Text to display to the user. * @param type - Visual severity mapped to command-line message styles. */ private notify; /** * Registers a localized keyword on an entity or keyword prompt. * * @param prompt - Prompt instance that should expose the keyword to the user. * @param key - I18n keyword identifier under `jig.layfrz.keywords`. */ private addKeyword; /** * Prompts for either a picked entity or one of the top-level command keywords. * * @returns Resolved selection or keyword action, or `undefined` when the user cancels. */ private promptSelection; /** * Opens the `Settings` branch and keeps prompting until the user exits it. * * @returns Resolves when the settings submenu is closed. */ private runSettings; /** * Prompts for the viewport-freeze mode to store for subsequent selections. * * `Vpfreeze` currently falls back to a global freeze because the viewer does * not expose per-viewport layer state. * * @returns Resolves when the prompt is dismissed or the setting is updated. */ private promptViewportMode; /** * Prompts for how nested block selections should resolve their target layer. * * The chosen value is persisted for later use even though nested selection is * not yet implemented in the viewer. * * @returns Resolves when the prompt is dismissed or the setting is updated. */ private promptBlockSelectionMode; /** * Toggles the frozen flag on a layer table record. * * @param layer - Layer record to update. * @param frozen - Whether the layer should be marked frozen. */ private setLayerFrozen; /** * Resolves the picked entity's layer and freezes it when allowed. * * The method validates the selection, prevents freezing the current layer, * records undo history, and clears the selection set after a successful edit. * * @param context - Active application context containing the current database and view. * @param objectId - Identifier of the entity selected by the user. */ private freezeEntityLayer; /** * Restores the most recently frozen layer state captured during this run. * * @param context - Active application context containing the current database and view. */ private runUndo; } //# sourceMappingURL=AcApLayerFreezeCmd.d.ts.map