import { VariantProps } from 'class-variance-authority';
import { ButtonProps } from '../Button/Button';
import { FormElementSize } from '../../primitives/form-element';
import * as React from 'react';
declare const inputGroupVariants: (props?: ({
    variant?: "default" | "outline" | "filled" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
export type InputGroupProps = React.ComponentPropsWithoutRef<'div'> & {
    size?: FormElementSize;
} & VariantProps<typeof inputGroupVariants>;
declare const InputGroup: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
    size?: FormElementSize;
} & VariantProps<(props?: ({
    variant?: "default" | "outline" | "filled" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
declare const inputGroupAddonVariants: (props?: ({
    align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
export type InputGroupAddonProps = React.ComponentPropsWithoutRef<'div'> & VariantProps<typeof inputGroupAddonVariants>;
declare const InputGroupAddon: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & VariantProps<(props?: ({
    align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string> & React.RefAttributes<HTMLDivElement>>;
export type InputGroupInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> & {
    testId?: string;
    error?: boolean;
};
declare const InputGroupInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "size"> & {
    testId?: string;
    error?: boolean;
} & React.RefAttributes<HTMLInputElement>>;
export type InputGroupTextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
    testId?: string;
    error?: boolean;
};
declare const InputGroupTextarea: React.ForwardRefExoticComponent<React.TextareaHTMLAttributes<HTMLTextAreaElement> & {
    testId?: string;
    error?: boolean;
} & React.RefAttributes<HTMLTextAreaElement>>;
export type InputGroupTextProps = React.ComponentPropsWithoutRef<'span'>;
declare const InputGroupText: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & React.RefAttributes<HTMLSpanElement>>;
export type InputGroupButtonProps = Omit<ButtonProps, 'size' | 'variant'> & {
    size?: ButtonProps['size'];
    variant?: ButtonProps['variant'];
};
declare const InputGroupButton: React.ForwardRefExoticComponent<Omit<ButtonProps, "size" | "variant"> & {
    size?: ButtonProps["size"];
    variant?: ButtonProps["variant"];
} & React.RefAttributes<HTMLButtonElement>>;
export { InputGroup, InputGroupAddon, InputGroupInput, InputGroupTextarea, InputGroupText, InputGroupButton };
