import { VariantProps } from 'class-variance-authority';
import { Button } from './button';
import * as React from "react";
type InputGroupProps = React.ComponentProps<"div">;
/**
 * Container for input with addons (icons, text, buttons) at start/end.
 * Manages focus ring, validation states, and addon alignment.
 */
declare function InputGroup({ className, ...props }: InputGroupProps): import("react/jsx-runtime").JSX.Element;
declare const inputGroupAddonVariants: (props?: ({
    align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
type InputGroupAddonProps = React.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>;
/**
 * Addon container for icons, text, or buttons at input start/end.
 * Clicking the addon focuses the input (unless clicking a button).
 */
declare function InputGroupAddon({ className, align, ...props }: InputGroupAddonProps): import("react/jsx-runtime").JSX.Element;
declare const inputGroupButtonVariants: (props?: ({
    size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, "size" | "type"> & VariantProps<typeof inputGroupButtonVariants> & {
    /** Button type. @default "button" */
    type?: "button" | "submit" | "reset";
};
/**
 * Button sized for use within InputGroupAddon.
 * Defaults to ghost variant and extra-small size.
 */
declare function InputGroupButton({ className, type, variant, size, ...props }: InputGroupButtonProps): import("react/jsx-runtime").JSX.Element;
type InputGroupTextProps = React.ComponentProps<"span">;
/**
 * Text label/prefix/suffix for use within InputGroupAddon.
 * Commonly used for URL schemes (https://), units (USD, MB), or format indicators (@, /).
 */
declare function InputGroupText({ className, ...props }: InputGroupTextProps): import("react/jsx-runtime").JSX.Element;
type InputGroupInputProps = React.ComponentProps<"input">;
/**
 * Input styled for use within InputGroup.
 * Removes border/shadow/ring to integrate with group container styling.
 */
declare function InputGroupInput({ className, ...props }: InputGroupInputProps): import("react/jsx-runtime").JSX.Element;
type InputGroupTextareaProps = React.ComponentProps<"textarea">;
/**
 * Textarea styled for use within InputGroup.
 * Removes border/shadow/ring to integrate with group container styling.
 */
declare function InputGroupTextarea({ className, ...props }: InputGroupTextareaProps): import("react/jsx-runtime").JSX.Element;
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupText, InputGroupInput, InputGroupTextarea, inputGroupAddonVariants, inputGroupButtonVariants, type InputGroupProps, type InputGroupAddonProps, type InputGroupButtonProps, type InputGroupTextProps, type InputGroupInputProps, type InputGroupTextareaProps, };
//# sourceMappingURL=input-group.d.ts.map