import { LitElement } from 'lit'; /** * Declarative, light-DOM marker for a single selection bubble-menu control. * * Author these as children of `` to build the bubble menu * shown over a text selection by hand, instead of the built-in five * (bold / italic / underline / strike / link) — the same pattern as * ``: * * ```html * * * * * * * ``` * * `name` maps to a built-in control (`bold`, `italic`, `underline`, `strike`, * `code`, `subscript`, `superscript`, `link`, `bulletList`, `orderedList`, * `alignLeft`, `alignCenter`, `alignRight`, `clearFormatting`). `label` and * `icon` override the built-in tooltip/glyph; set `divider` for a separator. * * Any other `name` is dispatched as a raw `wysiwyg-command` (so custom editor * commands work) as long as an `icon` is supplied. * * The element renders nothing itself — the editor discovers it and renders the * real control inside the bubble menu's shadow DOM. * * @tag nile-wysiwyg-bubble-item */ export declare class NileWysiwygBubbleItem extends LitElement { protected createRenderRoot(): this; protected shouldUpdate(): boolean; /** Built-in control name, or a raw command name when paired with `icon`. */ name: string; /** Overrides the control's tooltip / accessible label. */ label: string; /** Overrides the control's glyph (a `nile-glyph` name). */ icon: string; /** Renders a separator instead of a control. */ divider: boolean; } declare global { interface HTMLElementTagNameMap { 'nile-wysiwyg-bubble-item': NileWysiwygBubbleItem; } }