import type { EditorHost } from '@blockeditor/lit';
import type { Page } from '@blockeditor/store';
import { type BlockModel, type PageMeta } from '@blockeditor/store';
import type { TemplateResult } from 'lit';
import type { Flavour } from '../../../models.js';
export type LinkedDocOptions = {
    triggerKeys: string[];
    ignoreBlockTypes: Flavour[];
    convertTriggerKey: boolean;
    getMenus: (ctx: {
        editorHost: EditorHost;
        query: string;
        page: Page;
        pageMetas: PageMeta[];
        model: BlockModel;
    }) => LinkedDocGroup[];
};
export type LinkedDocItem = {
    key: string;
    name: string;
    icon: TemplateResult<1>;
    action: () => Promise<void> | void;
};
export type LinkedDocGroup = {
    name: string;
    styles?: string;
    items: LinkedDocItem[];
};
export declare function insertLinkedNode({ editorHost, model, pageId, }: {
    editorHost: EditorHost;
    pageId: string;
    model: BlockModel;
}): void;
export declare const getMenus: (ctx: {
    editorHost: EditorHost;
    query: string;
    page: Page;
    pageMetas: PageMeta[];
    model: BlockModel;
}) => LinkedDocGroup[];
//# sourceMappingURL=config.d.ts.map