import { LexicalNode, LexicalCommand, LexicalEditor, CommandListenerPriority } from "lexical"; import { MenuRenderFn } from "./LexicalTypeaheadMenuPlugin"; import { JSX } from "solid-js"; import { MenuOption } from "./LexicalNodeMenuPlugin"; export type EmbedMatchResult = { url: string; id: string; data?: TEmbedMatchResult; }; export interface EmbedConfig> { type: string; parseUrl: (text: string) => Promise | TEmbedMatchResult | null; insertNode: (editor: LexicalEditor, result: TEmbedMatchResult) => void; } export declare const URL_MATCHER: RegExp; export declare const INSERT_EMBED_COMMAND: LexicalCommand; export declare class AutoEmbedOption extends MenuOption { title: string; onSelect: (targetNode: LexicalNode | null) => void; constructor(title: string, options: { onSelect: (targetNode: LexicalNode | null) => void; }); } type LexicalAutoEmbedPluginProps = { embedConfigs: Array; onOpenEmbedModalForConfig: (embedConfig: TEmbedConfig) => void; getMenuOptions: (activeEmbedConfig: TEmbedConfig, embedFn: () => void, dismissFn: () => void) => Array; menuRenderFn: MenuRenderFn; menuCommandPriority?: CommandListenerPriority; }; export declare function LexicalAutoEmbedPlugin(props: LexicalAutoEmbedPluginProps): JSX.Element | null; export {};