import { type Dispatch, type SetStateAction } from 'react';
import { type Value } from 'platejs';
import { type CreatePlateEditorOptions } from 'platejs/react';
export type TComment = {
    id: string;
    contentRich: Value;
    createdAt: Date;
    discussionId: string;
    isEdited: boolean;
    userId: string;
};
export declare function Comment(props: {
    comment: TComment;
    discussionLength: number;
    editingId: string | null;
    index: number;
    setEditingId: Dispatch<SetStateAction<string | null>>;
    documentContent?: string;
    showDocumentContent?: boolean;
    onEditorClick?: () => void;
}): import("react/jsx-runtime").JSX.Element;
export declare const useCommentEditor: (options?: Omit<CreatePlateEditorOptions, "plugins">, deps?: any[]) => import("platejs/react").TPlateEditor<Value, import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"bold", {}, {}, Record<"bold", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"italic", {}, {}, Record<"italic", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"underline", {}, {}, Record<"underline", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"code", {}, {}, Record<"code", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"strikethrough", {}, {}, Record<"strikethrough", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"subscript", {}, {}, Record<"subscript", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"superscript", {}, {}, Record<"superscript", {
    toggle: () => void;
}>, {}>> | import("platejs/react").PlatePlugin<import("platejs").PluginConfig<"highlight", {}, {}, Record<"highlight", {
    toggle: () => void;
}>, {}>>>;
export declare function CommentCreateForm({ autoFocus, className, discussionId: discussionIdProp, focusOnMount }: {
    autoFocus?: boolean;
    className?: string;
    discussionId?: string;
    focusOnMount?: boolean;
}): import("react/jsx-runtime").JSX.Element;
export declare const formatCommentDate: (date: Date) => string;
