import type { BlockElement } from '@blockeditor/lit'; import { WidgetElement } from '@blockeditor/lit'; import { nothing, type TemplateResult } from 'lit'; type FormatBarCustomAction = { disable?: (formatBar: AffineFormatBarWidget) => boolean; icon(formatBar: AffineFormatBarWidget): string | undefined; onClick(formatBar: AffineFormatBarWidget): void; }; type FormatBarCustomElement = { showWhen?(formatBar: AffineFormatBarWidget): boolean; init(formatBar: AffineFormatBarWidget): HTMLElement; }; type FormatBarCustomRenderer = { render(formatBar: AffineFormatBarWidget): TemplateResult | undefined; }; export declare const AFFINE_FORMAT_BAR_WIDGET = "affine-format-bar-widget"; export declare class AffineFormatBarWidget extends WidgetElement { static styles: import("lit").CSSResult; private static readonly _customElements; static registerCustomRenderer(render: FormatBarCustomRenderer): void; static registerCustomElement(element: FormatBarCustomElement): void; static registerCustomAction(action: FormatBarCustomAction): void; formatBarElement?: HTMLElement; private get _selectionManager(); private _dragging; private _displayType; get displayType(): "block" | "text" | "none" | "native"; private _selectedBlockElements; get selectedBlockElements(): BlockElement, import("@blockeditor/block-std").BlockService>, string>[]; get nativeRange(): Range | null; private _abortController; private _placement; private _reset; private _shouldDisplay; connectedCallback(): void; private _floatDisposables; updated(): void; private _customRender; disconnectedCallback(): void; render(): TemplateResult<1> | typeof nothing; } declare global { interface HTMLElementTagNameMap { [AFFINE_FORMAT_BAR_WIDGET]: AffineFormatBarWidget; } } export {}; //# sourceMappingURL=format-bar.d.ts.map