import { FC, ReactNode } from "react"; import { DOMConversionMap, DOMExportOutput, DecoratorNode, EditorConfig, LexicalEditor, LexicalNode, NodeKey, SerializedLexicalNode, Spread } from "lexical"; import { Unstable_DirectiveFormatter, Unstable_TriggerItem } from "@assistant-ui/core"; //#region src/nodes/DirectiveNode.d.ts export type DirectiveChipProps = { directiveId: string; directiveType: string; label: string; }; export declare const DirectiveChipProvider: import("react").Provider | null>; export type SerializedDirectiveNode = Spread<{ directiveId: string; directiveType: string; label: string; description?: string | undefined; metadata?: Unstable_TriggerItem["metadata"]; directiveText?: string; }, SerializedLexicalNode>; /** Decorator node whose `getTextContent()` returns directive syntax (source-of-truth for plain-text roundtrip). */ export declare class DirectiveNode extends DecoratorNode { __directiveId: string; __directiveType: string; __label: string; __description: string | undefined; __metadata: Unstable_TriggerItem["metadata"]; __directiveText: string; static getType(): string; static clone(node: DirectiveNode): DirectiveNode; constructor(item: Unstable_TriggerItem, directiveText: string, key?: NodeKey); static importJSON(serialized: SerializedDirectiveNode): DirectiveNode; exportJSON(): SerializedDirectiveNode; createDOM(_config: EditorConfig): HTMLElement; updateDOM(): false; /** Drops `description` and `metadata` — paste-time consumers re-resolve via adapter. */ exportDOM(_editor: LexicalEditor): DOMExportOutput; static importDOM(): DOMConversionMap | null; getTextContent(): string; getDirectiveText(): string; isInline(): boolean; isIsolated(): boolean; isKeyboardSelectable(): boolean; decorate(_editor: LexicalEditor, _config: EditorConfig): ReactNode; getDirectiveItem(): Unstable_TriggerItem; } /** Defaults `directiveText` via `unstable_defaultDirectiveFormatter` when omitted. */ export declare function $createDirectiveNode(item: Unstable_TriggerItem, directiveText?: string | undefined): DirectiveNode; /** Uses the caller-supplied `formatter` to produce directive text. */ export declare function $createDirectiveNodeWithFormatter(item: Unstable_TriggerItem, formatter: Unstable_DirectiveFormatter): DirectiveNode; export declare function $isDirectiveNode(node: LexicalNode | null | undefined): node is DirectiveNode; //#endregion //# sourceMappingURL=DirectiveNode.d.ts.map