import { ReactNode, HTMLProps, ChangeEventHandler, FocusEventHandler } from 'react';
/**
* A controlled Text Input.
* Also covers email, telephone, password, URL derivatives.
* @see https://cloudoperators.github.io/juno/?path=/docs/forms-textarea--docs
* @see {@link TextareaProps}
*/
export declare const Textarea: ({ name, value, id, placeholder, disabled, readOnly, required, invalid, valid, autoFocus, className, autoComplete, helptext, successtext, errortext, onChange, onFocus, onBlur, label, width, wrapperClassName, ...props }: TextareaProps) => ReactNode;
type WidthType = "full" | "auto";
export interface TextareaProps extends HTMLProps {
/** Pass a name attribute */
name?: string;
/** The label of the textarea */
label?: string;
/** Pass a value */
value?: string | number;
/** Pass an id */
id?: string;
/** Pass a placeholder */
placeholder?: string;
/** Render a disabled input */
disabled?: boolean;
/** Render a readonly input */
readOnly?: boolean;
/** Whether the field is required */
required?: boolean;
/** Whether the field is invalid */
invalid?: boolean;
/** Whether the field is valid */
valid?: boolean;
/** Whether the field receives autofocus */
autoFocus?: boolean;
/** Pass a classname. The class name is applied to the internal textarea element. */
className?: string;
/** Pass a valid autocomplete value. We do not police validity. */
autoComplete?: string;
/** Pass a change handler */
onChange?: ChangeEventHandler;
/** Pass a focus handler */
onFocus?: FocusEventHandler;
/** Pass a blur handler */
onBlur?: FocusEventHandler;
/** A helptext to render to explain meaning and significance of the Textarea */
helptext?: ReactNode;
/** A text to render when the Textarea was successfully validated */
successtext?: ReactNode;
/** A text to render when the Textarea has an error or could not be validated */
errortext?: ReactNode;
/** The width of the textarea. Either 'full' (default) or 'auto'. */
width?: WidthType;
/** Pass a custom className to the wrapping element. This can be useful if you must add styling to the outermost wrapping element of this component, e.g. for positioning. */
wrapperClassName?: string;
}
export {};
//# sourceMappingURL=Textarea.component.d.ts.map