import { ReactNode } from "react";
import { Editor } from "@tiptap/react";
import { Extensions } from "@tiptap/core";
//#region src/DefaultToolbar.d.ts
interface RichTextEditorToolbarState {
  editor: Editor | null;
  isBold: boolean;
  isItalic: boolean;
  isH2: boolean;
  isBullet: boolean;
}
interface DefaultToolbarProps extends RichTextEditorToolbarState {}
/** Default Bold / Italic / H2 / Bullet-list toolbar. */
declare function DefaultToolbar({ editor, isBold, isItalic, isH2, isBullet }: DefaultToolbarProps): import("react").JSX.Element;
//#endregion
//#region src/extensions.d.ts
/** Swappable extension set — replaces the default toolbar extensions when provided. */
interface EditorExtensionConfig {
  extensions: Extensions;
}
/** Production-proven default set (no StarterKit). */
declare function createDefaultExtensions(): Extensions;
//#endregion
//#region src/RichTextEditor.d.ts
interface RichTextEditorProps {
  value: string;
  onChange: (next: string) => void;
  dir?: 'ltr' | 'rtl';
  'aria-label': string;
  'aria-describedby'?: string;
  extensions?: EditorExtensionConfig;
  readOnly?: boolean;
  className?: string;
  renderToolbar?: (state: RichTextEditorToolbarState) => ReactNode;
}
declare function RichTextEditor({ value, onChange, dir, 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, extensions, readOnly, className, renderToolbar }: RichTextEditorProps): import("react").JSX.Element;
//#endregion
export { DefaultToolbar, type EditorExtensionConfig, RichTextEditor, type RichTextEditorProps, type RichTextEditorToolbarState, createDefaultExtensions };