import * as react_jsx_runtime from 'react/jsx-runtime';
import { PropsWithChildren, ComponentPropsWithoutRef, Ref } from 'react';
import * as class_variance_authority_types from 'class-variance-authority/types';
import { VariantProps } from 'class-variance-authority';

declare const inputGroupStyles: (props?: ({
    disabled?: boolean | null | undefined;
    readOnly?: boolean | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
type InputGroupStylesProps = VariantProps<typeof inputGroupStyles>;

interface InputGroupProps extends ComponentPropsWithoutRef<'div'>, InputGroupStylesProps {
    /**
     * Use `state` prop to assign a specific state to the group, choosing from: `error`, `alert` and `success`. By doing so, the outline styles will be updated.
     */
    state?: 'error' | 'alert' | 'success';
    /**
     * Function handler to be executed after the input has been cleared.
     */
    onClear?: () => void;
    ref?: Ref<HTMLDivElement>;
}
declare const InputGroup: {
    ({ className, children: childrenProp, state: stateProp, disabled: disabledProp, readOnly: readOnlyProp, onClear, ref: forwardedRef, ...others }: PropsWithChildren<InputGroupProps>): react_jsx_runtime.JSX.Element;
    displayName: string;
};

export { type InputGroupProps as I, InputGroup as a };
