import { TemplateResult, CSSResultArray } from 'lit'; import NileElement from '../../internal/nile-element'; import type { ToolbarState } from '../engine/selection-state'; import type { AuthoredToolbarItem } from '../nile-wysiwyg-toolbar/nile-wysiwyg-toolbar'; import '../../nile-lite-tooltip/nile-lite-tooltip'; /** * Balloon toolbar shown over non-empty selections. The host owns positioning * (absolute left/top) and visibility; commands bubble up as * `wysiwyg-command` events, same contract as the main toolbar. */ export declare class NileWysiwygBubbleMenu extends NileElement { open: boolean; toolbarState?: ToolbarState; /** * Structured item list authored in light DOM (from * `` children). `'|'` is a separator. Falls back to * {@link DEFAULT_BUBBLE} when empty. */ items?: AuthoredToolbarItem[]; static get styles(): CSSResultArray; /** * True when this instance is an author's declarative `` * container in an editor's light DOM (holding `` * children). It renders nothing — the editor reads the items and renders the * real bubble menu in its own shadow DOM. The editor's internal instance * lives in a shadow root, so `closest` never matches it. */ private get isAuthoringContainer(); render(): TemplateResult; private renderEntry; } declare global { interface HTMLElementTagNameMap { 'nile-wysiwyg-bubble-menu': NileWysiwygBubbleMenu; } }