import React from 'react'; import { MarkdownEditorProps } from '../../MarkdownEditor'; import { TagPopupProps } from '../../MarkdownEditor/editor/elements/TagPopup'; /** * 建议面板状态的 React 上下文 * * 该上下文用于管理建议面板(Suggestion)的显示状态,允许组件树中的任何组件访问或修改面板的开关状态。 * * @interface * @property {boolean} [open] - 控制建议面板是否打开的状态 * @property {function} [setOpen] - 设置建议面板开关状态的函数 * @example * // 在消费组件中使用此上下文 * const { open, setOpen } = useContext(SuggestionConnext); * // 打开建议面板 * setOpen?.(true); */ export declare const SuggestionConnext: React.Context<{ open?: boolean | undefined; setOpen?: ((open: boolean) => void) | undefined; isRender: true; onSelectRef?: React.MutableRefObject<((value: string) => void | undefined) | undefined> | undefined; triggerNodeContext?: React.MutableRefObject<(TagPopupProps & { text?: string | undefined; placeholder?: string | undefined; }) | undefined> | undefined; }>; /** * Suggestion 组件 - 自动完成建议组件 * * 该组件提供输入框的自动完成功能,支持静态建议列表和动态加载建议。 * 当用户输入时显示相关建议,支持键盘导航和点击选择。 * * @component * @description 自动完成建议组件,提供输入建议和选择功能 * @param {Object} props - 组件属性 * @param {React.ReactNode} props.children - 子组件,通常是输入框 * @param {TagInputProps} [props.tagInputProps] - 标签输入配置 * @param {Array|Function} [props.tagInputProps.items] - 建议项列表或加载函数 * @param {boolean} [props.tagInputProps.open] - 是否显示下拉菜单 * @param {(open: boolean) => void} [props.tagInputProps.onOpenChange] - 下拉菜单状态变化回调 * @param {Function} [props.tagInputProps.dropdownRender] - 自定义下拉菜单渲染 * @param {React.ReactNode} [props.tagInputProps.menu] - 自定义菜单内容 * @param {React.CSSProperties} [props.tagInputProps.dropdownStyle] - 下拉菜单样式 * @param {React.ReactNode} [props.tagInputProps.notFoundContent] - 无数据时显示的内容 * * @example * ```tsx * console.log('下拉状态:', open) * }} * > * * * ``` * * @returns {React.ReactElement} 渲染的自动完成建议组件 * * @remarks * - 支持静态建议列表和动态加载 * - 提供键盘导航功能 * - 支持自定义下拉菜单渲染 * - 支持加载状态显示 * - 自动处理选择事件 * - 支持自定义样式和内容 */ export declare const Suggestion: React.FC<{ children: React.ReactNode; tagInputProps?: MarkdownEditorProps['tagInputProps']; }>;