import type { AcEdUiLayoutKind } from '@mlightcad/cad-simple-viewer'; import { acuiFilterVisibleToolbarItems, acuiIsToolbarItemDisabled, acuiIsToolbarItemVisible, acuiItemRequiresDocument, acuiResolveEffectiveToolbarItem, acuiResolveParentToolbarDisplay, acuiResolveSelectedChildItem, type AcUiToolbarItem, type AcUiToolbarOptions } from '@mlightcad/cad-simple-viewer'; import type { AcUiDefaultToolbarContext } from './types'; export { acuiFilterVisibleToolbarItems, acuiIsToolbarItemDisabled, acuiIsToolbarItemVisible, acuiItemRequiresDocument, acuiResolveEffectiveToolbarItem, acuiResolveParentToolbarDisplay, acuiResolveSelectedChildItem }; /** * Builds a lookup map of built-in toolbar items keyed by id (includes nested submenu entries). * * Indexes desktop/pad defaults first so shared ids (`layer`, `annotation`) keep * desktop variants. Phone items overwrite those ids only when {@link layout} is * `'phone'`. On desktop/pad, phone-only ids (`zoom`, `settings`) are added when * missing so custom lists can still reference them. * * @param context - Context for theme/locale/placement presets. * @param layout - Layout whose shared-id variants should win for overlapping presets. */ export declare function acuiCreateDefaultToolbarPresetMap(context?: AcUiDefaultToolbarContext, layout?: AcEdUiLayoutKind): Map; /** * Inserts toolbar items at the configured position relative to a root item id. * * @param items - Base toolbar items. * @param toInsert - Items to insert from `appendItems`. * @param position - Optional anchor id (`after` or `before`); omitted means end. * @returns New item array with `toInsert` merged in. */ export declare function acuiInsertToolbarItemsAt(items: AcUiToolbarItem[], toInsert: AcUiToolbarItem[], position?: { after?: string; before?: string; }): AcUiToolbarItem[]; /** * Resolves the final toolbar item list from plugin options. * * Uses the default set when `items` is `'default'` or omitted, then merges * `appendItems` when present. Use `appendItemsAfter` or `appendItemsBefore` to * control insertion; otherwise items are appended at the end. When both anchor * options are set, `appendItemsBefore` takes precedence. Preset references * in custom lists are expanded from the built-in item map. Root items whose * ids appear in {@link AcUiToolbarOptions.excludeItems} are then dropped. * * @param options - Toolbar subsection of plugin options. * @param context - Context for default theme/locale/placement items. * @param layout - When `'phone'`, `'default'` resolves to the phone item set. * @returns Resolved toolbar items ready for {@link AcUiToolbar}. */ export declare function acuiResolveToolbarItems(options: AcUiToolbarOptions | undefined, context?: AcUiDefaultToolbarContext, layout?: AcEdUiLayoutKind): AcUiToolbarItem[]; //# sourceMappingURL=resolveToolbarItems.d.ts.map