import { ShadowlessElement } from '@revesuite/lit'; import type { BaseBlockModel, Page } from '@revesuite/store'; import type { AbstractEditor, EditingState, Rect } from '../__internal__/index.js'; import { type DroppingType, Point } from '../__internal__/index.js'; declare const BlockHub_base: typeof ShadowlessElement & (new (...args: any[]) => import("@revesuite/lit").DisposableClass); export declare class BlockHub extends BlockHub_base { /** * A function that returns all blocks that are allowed to be moved to */ getAllowedBlocks: () => BaseBlockModel[]; getHoveringFrameState: (point: Point) => { container?: Element; rect?: Rect; scale: number; }; private _expanded; private _isGrabbing; private _visibleCardType; private _showTooltip; private _inEdgelessMode; private _maxHeight; private _blockHubCards; private _blockHubMenus; private _blockHubButton; private _blockHubIconsContainer; private _blockHubMenuContainer; private _blockHubMenuEntry; private _page; private readonly _onDragStartCallback; private readonly _onDropCallback; private readonly _onClickCardCallback; private _currentClientX; private _currentClientY; private _isCardListVisible; private _indicator; private _lastDroppingTarget; private _lastDroppingType; private _lastDraggingFlavour; private _timer; private readonly _enableDatabase; private _mouseRoot; static styles: import("lit").CSSResult; constructor(options: { mouseRoot: AbstractEditor; enableDatabase: boolean; getAllowedBlocks: () => BaseBlockModel[]; getHoveringFrameState: (point: Point) => { container?: Element; rect?: Rect; scale: number; }; onDragStart: () => void; onDrop: (e: DragEvent, point: Point, lastModelState: EditingState | null, lastType: DroppingType) => Promise; onClickCard: (data: { flavour: string; type?: string; }) => Promise; page: Page; }); connectedCallback(): void; firstUpdated(): void; disconnectedCallback(): void; /** * This is currently a workaround, as the height of the _blockHubIconsContainer is determined by the height of its * content, and if its child's opacity is set to 0 during a transition, its height won't change, causing the background * to exceeds its actual visual height. So currently we manually set the height of those whose opacity is 0 to 0px. */ private _onTransitionStart; private _onClickOutside; private _onClickCard; toggleMenu(): void; private _onBlockHubButtonClick; private _hideCardList; private _onDragStart; private _onMouseDown; private _onDrag; private _onDragOver; private _onDragOverDocument; private _onDragEnd; private _resetDropState; private _onDrop; private _onCardMouseDown; private _onCardMouseUp; private _onBlankMenuMouseDown; private _onBlankMenuMouseUp; private _onBlockHubMenuMouseOver; private _onBlockHubEntryMouseOver; private _onResize; render(): import("lit").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'affine-block-hub': BlockHub; } } export {}; //# sourceMappingURL=block-hub.d.ts.map