import { RichTextProps } from "../../types/richTextTypes";
import "./styles.css";
/**
 * RichText component provides a feature-rich text editor with formatting capabilities
 * including bold, italic, underline, code, headings, block quotes, alignment, and image insertion.
 *
 * Built on top of Slate.js, this component offers a customizable toolbar and supports
 * character limits, form integration, and error handling.
 *
 * @param props - Configuration object for the RichText component
 * @param props.name - The name attribute for the form field (required)
 * @param props.hiddenButtons - Array of button keys to hide from the toolbar
 * @param props.imageConfig - Configuration object for image insertion functionality
 * @param props.defaultValue - Initial JSON string value for the editor content (default: "[]")
 * @param props.enforceCharacterLimit - Whether to enforce the character limit strictly (default: false)
 * @param props.onChangeCharactersCount - Callback function triggered when character count changes
 * @param props.baseErrorMessage - Custom error message to display
 * @param props.maxLimit - Maximum number of characters allowed (default: 10000)
 * @param props.onChange - Callback function triggered when editor content changes
 * @param props.isError - Whether the component should display in error state
 * @param props.id - Custom ID for the editor element
 *
 * @returns JSX element representing the rich text editor
 *
 * @example
 * ```tsx
 * // Basic usage
 * <RichText name="content" />
 *
 * // With character limit and custom buttons
 * <RichText
 *   name="description"
 *   maxLimit={500}
 *   enforceCharacterLimit={true}
 *   hiddenButtons={["image", "code"]}
 *   onChangeCharactersCount={(count) => console.log(count)}
 * />
 *
 * // With image upload configuration
 * <RichText
 *   name="article"
 *   imageConfig={{
 *     action: "/api/upload",
 *     modalTitle: "Insert Image",
 *     modalInputUrlLabel: "Image URL",
 *     modalInputImageLabel: "Upload Image"
 *   }}
 * />
 * ```
 *
 * @description
 * The component includes:
 * - **Formatting**: Bold, italic, underline, code, headings (H1, H2), block quotes
 * - **Alignment**: Left, center, right, justify
 * - **Image Support**: Upload and URL insertion (when imageConfig is provided)
 * - **Character Limits**: Configurable limits with visual feedback
 * - **Form Integration**: Works with form providers and validation
 * - **Keyboard Shortcuts**: Standard shortcuts for formatting (Ctrl+B, Ctrl+I, etc.)
 * - **Error Handling**: Visual error states and validation messages
 *
 * The editor outputs JSON data representing the document structure, which can be
 * converted to HTML using the provided utility functions.
 */
declare function RichText(props: RichTextProps): import("react/jsx-runtime").JSX.Element;
export { RichText };
//# sourceMappingURL=index.d.ts.map