import { status } from '@synnaxlabs/x';
import { ReactElement, ReactNode } from 'react';
import { Button } from '../button';
import { InputProps, Variant } from './types';
import { Tooltip } from '../tooltip';
export interface TextProps extends InputProps<string>, Omit<Button.ExtensionProps, "variant">, Tooltip.WrapProps {
    selectOnFocus?: boolean;
    centerPlaceholder?: boolean;
    resetOnBlurIfEmpty?: boolean;
    status?: status.Variant;
    variant?: Variant;
    placeholder?: ReactNode;
    children?: ReactNode;
    endContent?: ReactNode;
    startContent?: ReactNode;
    onlyChangeOnBlur?: boolean;
}
/**
 * A controlled string input component.
 *
 * @param props - The props for the input component. Unlisted props are passed to the
 * underlying input element.
 * @param props.value - The value of the input.
 * @param props.onChange - A function to call when the input value changes.
 * @param props.size - The size of the input: "small" | "medium" | "large".
 * @param props.selectOnFocus - Whether the input should select its contents when focused.
 * @param props.centerPlaceholder - Whether the placeholder should be centered.
 * @param props.resetOnBlurIfEmpty - Whether the input should reset to its previous value if
 * blurred while empty.
 * @param props.onlyChangeOnBlur - If true, the input will only call `onChange` when the
 * user blurs the input or the user presses 'Enter'.
 */
export declare const Text: ({ size, ref, value, onChange, className, onFocus, onKeyDown, selectOnFocus, centerPlaceholder, placeholder, variant, level, onBlur, disabled, resetOnBlurIfEmpty, status, weight, style, contrast, color: pColor, sharp, onlyChangeOnBlur, endContent, full, children, grow, shrink, borderColor, borderWidth, bordered, rounded, tabIndex, trigger, triggerIndicator, textColor, textVariant, preventClick, onClickDelay, startContent, tooltip, tooltipDelay, tooltipLocation, hideTooltip, ...rest }: TextProps) => ReactElement;
//# sourceMappingURL=Text.d.ts.map