import * as React from "react";
import { type VariantProps } from "class-variance-authority";
import type { HTMLAttributes, ComponentProps, MouseEvent } from "react";
import { Button } from "@/components/ui/button";
import { InputProps } from "@/components/ui/input";
type InputGroupAlign = "inline-start" | "inline-end" | "block-start" | "block-end";
type InputGroupButtonSize = "xs" | "sm" | "icon-xs" | "icon-sm";
type InputGroupButtonVariant = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
type InputGroupAddonProps = HTMLAttributes<HTMLDivElement> & {
    className?: string;
    align?: InputGroupAlign;
    onClick?: (e: MouseEvent<HTMLDivElement>) => void;
};
type InputGroupButtonProps = Omit<ComponentProps<typeof Button>, "size"> & {
    className?: string;
    type?: "button" | "submit" | "reset";
    variant?: InputGroupButtonVariant;
    size?: InputGroupButtonSize;
};
declare const InputGroup: ({ className, ...props }: HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
declare const inputGroupAddonVariants: (props?: ({
    align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
declare const InputGroupAddon: ({ className, align, ...props }: InputGroupAddonProps & VariantProps<typeof inputGroupAddonVariants>) => import("react/jsx-runtime").JSX.Element;
declare const InputGroupButton: React.ForwardRefExoticComponent<Omit<Omit<import("@/components/ui/button").ButtonProps & React.RefAttributes<HTMLButtonElement>, "size"> & {
    className?: string;
    type?: "button" | "submit" | "reset";
    variant?: InputGroupButtonVariant;
    size?: InputGroupButtonSize;
} & VariantProps<(props?: ({
    size?: "sm" | "icon-sm" | "xs" | "icon-xs" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
declare const InputGroupText: ({ className, ...props }: HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
declare const InputGroupInput: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
declare const InputGroupTextarea: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React.RefAttributes<HTMLTextAreaElement>, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea };
export type { InputGroupAddonProps, InputGroupButtonProps, InputGroupAlign, InputGroupButtonSize, InputGroupButtonVariant, };
//# sourceMappingURL=input-group.d.ts.map