import type { BaseBlockModel } from '@revesuite/store'; import { LitElement, type TemplateResult } from 'lit'; import type { BookmarkBlockComponent } from '../bookmark-block.js'; import type { BookmarkBlockModel } from '../bookmark-model.js'; export type OperationMenuPopper = { element: BookmarkOperationMenu; dispose: () => void; }; export declare function createBookmarkOperationMenu(reference: HTMLElement, props: { model: BaseBlockModel; onSelected?: MenuActionCallback; }): OperationMenuPopper; export type MenuActionCallback = (type: Operation['type']) => void; type Operation = { type: 'reload' | 'copy' | 'delete' | 'duplicate'; icon: TemplateResult; label: string; action: (model: BaseBlockModel, callback?: MenuActionCallback, element?: HTMLElement) => void; divider?: boolean; }; declare const BookmarkOperationMenu_base: typeof LitElement & (new (...args: any[]) => import("@revesuite/lit").DisposableClass); export declare class BookmarkOperationMenu extends BookmarkOperationMenu_base { static styles: import("lit").CSSResult; model: BaseBlockModel; root: BookmarkBlockComponent; onSelected?: MenuActionCallback; formatQuickBarElement: HTMLElement; connectedCallback(): void; render(): TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'bookmark-operation-menu': BookmarkOperationMenu; } } export {}; //# sourceMappingURL=bookmark-operation-popper.d.ts.map