import { AcApContext } from '../../app'; import { AcEdCommand } from '../../editor'; /** * AutoCAD-like `LAYOFF` command. * * The command repeatedly asks the user to pick an entity and turns off the * corresponding layer. It also supports AutoCAD-style `Settings` and `Undo` * branches during the same command session. * * Current viewer limitations: * - Only one global viewport is available, so `Vpfreeze` behaves like `Off`. * - 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 AcApLayoffCmd extends AcEdCommand { private static _settings; private _history; private _vpfreezeHintShown; /** * Creates a write-enabled `LAYOFF` command instance. */ constructor(); /** * Runs the interactive turn-layer-off workflow until the user cancels. * * The command keeps an in-memory undo stack for the current invocation and * reuses the static settings chosen in previous `LAYOFF` runs. * * @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.layoff.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-specific off mode to persist for later selections. * * `Vpfreeze` currently falls back to a global off state because the viewer * does not expose per-viewport layer visibility. * * @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 future parity with AutoCAD even though * nested selection handling is not implemented yet. * * @returns Resolves when the prompt is dismissed or the setting is updated. */ private promptBlockSelectionMode; /** * Resolves the picked entity's layer and turns it off when allowed. * * The method validates the selection, prevents turning off 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 turnOffEntityLayer; /** * Restores the most recently changed layer-off state captured during this run. * * @param context - Active application context containing the current database and view. */ private runUndo; } //# sourceMappingURL=AcApLayerOffCmd.d.ts.map