import React, { type ElementType } from "react";
import { type VibeComponentProps } from "../../types";
import { type TooltipProps } from "../Tooltip";
import { type TextType, type TextWeight } from "../Text";
import { type HeadingType, type HeadingWeight } from "../Heading";
export interface EditableTypographyImplementationProps {
    /**
     * The current value of the text.
     */
    value: string;
    /**
     * Callback fired when the value changes.
     */
    onChange?: (value: string) => void;
    /**
     * Callback fired when the component is clicked.
     */
    onClick?: (event: React.KeyboardEvent | React.MouseEvent) => void;
    /**
     * If true, the text is read-only and cannot be edited.
     */
    readOnly?: boolean;
    /**
     * Placeholder text displayed when the value is empty.
     */
    placeholder?: string;
    /**
     * The label of the component for accessibility.
     */
    ariaLabel?: string;
    /**
     * Controls whether the component is in edit mode.
     */
    isEditMode?: boolean;
    /**
     * If true, automatically selects all text when entering edit mode.
     */
    autoSelectTextOnEditMode?: boolean;
    /**
     * Callback fired when the edit mode changes.
     */
    onEditModeChange?: (isEditMode: boolean) => void;
    /**
     * Props to customize the tooltip.
     */
    tooltipProps?: Partial<TooltipProps>;
}
export interface EditableTypographyProps extends VibeComponentProps, EditableTypographyImplementationProps {
    /**
     * The typography component used in view mode.
     */
    component: ElementType;
    /**
     * Class name applied to the typography component.
     */
    typographyClassName: string;
    /**
     * If true, shows the placeholder when empty.
     */
    clearable?: boolean;
    /**
     * The text or heading type.
     */
    type?: TextType | HeadingType;
    /**
     * The text or heading weight.
     */
    weight?: TextWeight | HeadingWeight;
    /**
     * If true, enables multi-line editing.
     */
    multiline?: boolean;
}
declare const EditableTypography: React.ForwardRefExoticComponent<EditableTypographyProps & React.RefAttributes<HTMLElement>>;
export default EditableTypography;
