import { AcApDocManager } from '@mlightcad/cad-simple-viewer'; import { AcDbLayerTableRecord } from '@mlightcad/data-model'; /** Built-in filter tree node that shows every layer. */ export declare const LAYER_FILTER_ALL = "all"; /** Built-in filter tree node that shows layers with entities. */ export declare const LAYER_FILTER_ALL_USED = "allUsed"; /** * One node in the Layer Manager filter tree (`AcLy*` / {@link AcDbDatabase.layerFilters}). */ export interface LayerFilterTreeNodeInfo { /** Stable UI id for the tree node. */ id: string; /** Display name. */ name: string; /** Whether this is a group (ID) filter. */ isGroup: boolean; /** Nested child filters. */ children: LayerFilterTreeNodeInfo[]; } /** * Layer-filter composable for Layer Manager and other layer pickers. * * Reads the AutoCAD Layer Properties Manager tree from * {@link AcDbDatabase.layerFilters} (`AcLyLayerFilter` / `AcLyLayerGroup`), * not the flat {@link AcDbDatabase.objects.layerFilter} index dictionary. * * The selected filter is shared globally; the filter tree snapshot is per caller. * * @param editor - Application document manager that owns the active drawing. */ export declare function useLayerFilters(editor: AcApDocManager): { /** Nested filter nodes under the synthetic `All` root (excluding built-ins). */ filterTree: import('vue').Reactive; /** Currently selected filter tree node id (shared globally). */ selectedFilterId: import('vue').Ref; /** Whether the selected filter accepts the given layer record. */ matchesSelectedFilter: (layer: AcDbLayerTableRecord) => boolean; /** Creates a property filter. See {@link createNamedFilter}. */ createNamedFilter: (layerNames?: readonly string[], preferredName?: string) => string | null; /** Creates a group filter. See {@link createGroupFilter}. */ createGroupFilter: (preferredName?: string, layerIds?: readonly string[]) => string | null; /** Re-reads filters from the active database. */ syncFromDatabase: () => void; }; //# sourceMappingURL=useLayerFilters.d.ts.map