import { AcApDocManager } from '@mlightcad/cad-simple-viewer'; import type { AcUiI18n } from '../i18n'; /** Constructor options for {@link AcUiMeasurementPaletteView}. */ export interface AcUiMeasurementPaletteViewOptions { /** Document manager used to resolve the active view for measurement actions. */ editor: AcApDocManager; /** i18n helper for panel labels. */ i18n: AcUiI18n; } /** * Measurement list view for the dock panel. * * Lists committed measurements, zooms to a row on click, and supports * per-item delete plus clear-all. */ export declare class AcUiMeasurementPaletteView { /** Root element mounted in the dock panel measurements tab. */ readonly element: HTMLDivElement; /** Type filter buttons (distance / arc / angle / area). */ private readonly filterButtons; /** Filter group used for the accessible name. */ private filterGroup; /** Active type filter, or `undefined` to show every measurement. */ private activeFilter; /** Clears every measurement on the active layout. */ private clearButton; /** Type column header. */ private typeHeaderEl; /** Value column header. */ private valueHeaderEl; /** Actions column header (visually empty). */ private actionsHeaderEl; /** Measurement table body. */ private tbody; /** Document manager whose current view receives measurement actions. */ private readonly editor; /** i18n helper for labels. */ private readonly i18n; /** Latest measurement records from the active layout. */ private measurements; /** Currently selected measurement id. */ private selectedId; /** Last list signature used to avoid rebuilding rows on selection-only updates. */ private tableContentKey; /** Unsubscribes from measurement list changes. */ private unsubscribeList?; /** Unsubscribes from measurement selection changes. */ private unsubscribeSelection?; /** * @param options - Editor and i18n used to render and mutate measurements. */ constructor(options: AcUiMeasurementPaletteViewOptions); /** Updates labels after a locale change. */ refreshLocale(): void; /** Removes store subscriptions. Does not remove DOM. */ destroy(): void; /** Builds static toolbar and table DOM. */ private buildDom; /** Pulls the measurement list/selection and refreshes the view. */ private syncFromStore; /** Row measurement id from a bubbled table event, if any. */ private rowMeasurementId; /** Rebuilds rows only when list content changes; otherwise updates selection. */ private refreshTable; /** Toggles `is-selected` on existing rows without replacing them. */ private syncRowSelection; /** Rebuilds table rows from the filtered measurement list. */ private renderTable; /** Measurements matching the active type filter. */ private filteredMeasurements; /** Selects one type filter, or clears it when the same button is clicked. */ private toggleFilter; /** Selects a measurement and zooms the view to it. */ private handleRowClick; /** Removes one measurement overlay. */ private removeOne; /** Clears all measurements on the active layout. */ private clearAll; /** Localized measurement type label, falling back to the raw type id. */ private typeLabel; } //# sourceMappingURL=AcUiMeasurementPaletteView.d.ts.map