import * as React from 'react'; import { ComponentSync } from '../../core/ComponentSync.js'; import './TS_EditableText.scss'; type Props = { text: string; shownText?: string; className?: string; editMode?: boolean; disableEdit?: boolean; onTextSaved?: ((text: string) => void | Promise); onCancel?: () => void; highlightText?: string; hideReset?: boolean; readMore?: boolean; readMoreCollapseHeight?: number; renderers?: { cancelButton?: React.ReactNode; saveButton?: React.ReactNode; resetButton?: React.ReactNode; }; }; type State = { original: string; text: string; isEditing: boolean; parentRef: React.RefObject; }; declare class TS_EditableText_Base extends ComponentSync { protected deriveStateFromProps(nextProps: Props): State; protected onEnableEdit: () => void; protected onTextChange: (text: string) => void; protected onSubmitChanges: (e: React.MouseEvent | React.KeyboardEvent) => Promise; protected onCancelChanges: (e?: React.MouseEvent) => void; protected onResetChanges: (e: React.MouseEvent) => void; protected onGeneralClick: (e: React.MouseEvent) => void; protected handleBlur: (e: React.FocusEvent) => void; protected renderText: () => import("react/jsx-runtime").JSX.Element; protected renderButton: { reset: () => import("react/jsx-runtime").JSX.Element; cancel: () => import("react/jsx-runtime").JSX.Element; accept: () => import("react/jsx-runtime").JSX.Element; }; } declare class TS_EditableText_TextArea extends TS_EditableText_Base { private renderButtons; private renderTextArea; render(): import("react/jsx-runtime").JSX.Element; } declare class TS_EditableText_Input extends TS_EditableText_Base { private renderInput; render(): import("react/jsx-runtime").JSX.Element; } export declare const TS_EditableText: { TextArea: typeof TS_EditableText_TextArea; Input: typeof TS_EditableText_Input; }; export {};