import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { TextareaHTMLAttributes, ReactNode } from 'react';
import { LabelProps } from './Label.js';
import { UseDelayOptions } from '../../hooks/useDelay.js';

type TextareaProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'value'> & {
    /** Inside the area */
    value?: string;
    invalid?: boolean;
    onChangeText?: (text: string) => void;
    onEditCompleted?: (text: string) => void;
    saveDelayOptions?: UseDelayOptions;
    defaultStyle?: boolean;
};
/**
 * A Textarea component for inputting longer texts
 *
 * The State is managed by the parent
 */
declare const Textarea: React.ForwardRefExoticComponent<Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "value"> & {
    /** Inside the area */
    value?: string;
    invalid?: boolean;
    onChangeText?: (text: string) => void;
    onEditCompleted?: (text: string) => void;
    saveDelayOptions?: UseDelayOptions;
    defaultStyle?: boolean;
} & React.RefAttributes<HTMLTextAreaElement>>;
/**
 * A Textarea component that is not controlled by its parent
 */
declare const TextareaUncontrolled: ({ value, onChangeText, ...props }: TextareaProps) => react_jsx_runtime.JSX.Element;
type TextareaWithHeadlineProps = Omit<TextareaProps, 'defaultStyle'> & {
    headline: ReactNode;
    headlineProps: Omit<LabelProps, 'children'>;
    containerClassName?: string;
};
declare const TextareaWithHeadline: ({ id, headline, headlineProps, disabled, className, containerClassName, ...props }: TextareaWithHeadlineProps) => react_jsx_runtime.JSX.Element;

export { Textarea, type TextareaProps, TextareaUncontrolled, TextareaWithHeadline, type TextareaWithHeadlineProps };
