import * as React$1 from 'react';
import { InputHTMLAttributes } from 'react';
import { Scope } from '@radix-ui/react-context';
import { B as ButtonProps } from '../../button.types-CokvmCqC.cjs';
import { T as TIconProps } from '../../icon.types-DlJQcXjA.cjs';
import * as react_jsx_runtime from 'react/jsx-runtime';
import 'tailwind-variants';
import 'tailwind-variants/dist/config.js';
import '@raiadrogasil/pulso-design-tokens';
import '@raiadrogasil/pulso-icons';

/**
 * Representa as props para o componente InputText.
 */
interface InputTextProps extends Pick<InputHTMLAttributes<HTMLInputElement>, 'disabled' | 'readOnly' | 'children'> {
    /**
     * Se o input tem um error.
     */
    hasError?: boolean;
    /**
     * Variante do tamanho do input
     */
    size?: 'md' | 'ml' | 'lg' | 'xl';
}
/**
 * Representa as props para o componente InputText.Label.
 */
interface InputTextLabelProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'className' | 'aria-disable'> {
    /**
     * Elementos filho a ser renderizado dentro do componente.
     */
    children?: React.ReactNode;
}
/**
 * Representa as props para o componente InputText.Field.
 */
interface InputTextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'disabled' | 'readOnly' | 'className'> {
}
/**
 * Representa as props para o componente InputText.HelperText.
 */
interface InputTextHelperTextProps extends Omit<React.HTMLProps<HTMLDivElement>, 'className'> {
    /**
     * Se o componente deve renderizar o icone.
     */
    withIcon?: boolean;
    /**
     * Icone apresentado no feedback.
     */
    iconName?: TIconProps['symbol'];
    /**
     * Elementos filho a ser renderizado dentro do componente.
     */
    children?: React.ReactNode;
}
/**
 * Representa as props para o componente InputText.Actions.
 */
interface InputTextActionsProps {
    /**
     * Elementos filho a ser renderizado dentro do componente.
     */
    children: React.ReactNode;
}
/**
 * Representa as props para o componente InputText.ClearButton.
 */
interface InputTextClearButtonProps extends Omit<ButtonProps, 'variant' | 'children' | 'className'> {
}
/**
 * Representa as props para o componente InputText.Icon.
 */
interface InputTextIconProps extends Pick<TIconProps, 'symbol' | 'color'> {
}
/**
 * Define o scope do radix-context
 */
type InputTextScopedProps<P> = P & {
    __scopeInputText?: Scope;
};

declare function InputTextIcon({ __scopeInputText, color, ...props }: InputTextScopedProps<InputTextIconProps>): react_jsx_runtime.JSX.Element;

declare const InputText: {
    Root: {
        (props: InputTextScopedProps<InputTextProps>): react_jsx_runtime.JSX.Element;
        displayName: string;
    };
    Label: (props: InputTextScopedProps<InputTextLabelProps>) => react_jsx_runtime.JSX.Element | null;
    Field: React$1.ForwardRefExoticComponent<InputTextFieldProps & React$1.RefAttributes<HTMLInputElement>>;
    HelperText: ({ withIcon, iconName, children, __scopeInputText, ...props }: InputTextScopedProps<InputTextHelperTextProps>) => react_jsx_runtime.JSX.Element | null;
    Actions: ({ children, __scopeInputText, ...props }: InputTextScopedProps<InputTextActionsProps>) => react_jsx_runtime.JSX.Element;
    ClearButton: ({ __scopeInputText, ...props }: InputTextScopedProps<InputTextClearButtonProps>) => react_jsx_runtime.JSX.Element;
    Icon: typeof InputTextIcon;
};

export { InputText, type InputTextProps };
