import { type VariantProps } from 'class-variance-authority'; import * as React from 'react'; import { Button } from './button.js'; import { type InputProps, type InputShape, type InputSize, type InputState } from './input.js'; import { type TextareaProps } from './textarea.js'; export interface InputGroupProps extends React.ComponentProps<'div'> { /** Shared height and typography scale for the compound control. */ size?: InputSize; /** Outer shell shape. */ shape?: InputShape; /** Shared validation state for the shell and editable control. */ state?: InputState; /** Uses the muted filled background from the Figma variant. */ filled?: boolean; /** Disables every editable or interactive descendant. */ disabled?: boolean; /** Makes controls read-only and disables addon buttons. */ readOnly?: boolean; } declare function InputGroup({ className, size, shape, state, filled, disabled, readOnly, ...props }: InputGroupProps): React.JSX.Element; declare namespace InputGroup { var displayName: string; } declare const inputGroupAddonVariants: (props?: ({ align?: "block-end" | "block-start" | "inline-end" | "inline-start" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; declare function InputGroupAddon({ className, align, onClick, ...props }: React.ComponentProps<'div'> & VariantProps): React.JSX.Element; declare namespace InputGroupAddon { var displayName: string; } declare const inputGroupButtonVariants: (props?: ({ size?: "default" | "icon-sm" | "icon-xs" | "md" | "sm" | "xs" | null | undefined; flush?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface InputGroupButtonProps extends Omit, 'size' | 'type'>, Omit, 'flush'> { type?: 'button' | 'submit' | 'reset'; /** Stretches the button to the shell edge for attached-button layouts. */ flush?: boolean; } declare function InputGroupButton({ className, type, appearance, variant, size, flush, disabled, ...props }: InputGroupButtonProps): React.JSX.Element; declare namespace InputGroupButton { var displayName: string; } declare function InputGroupText({ className, ...props }: React.ComponentProps<'span'>): React.JSX.Element; declare namespace InputGroupText { var displayName: string; } declare function InputGroupInput({ className, size, state, disabled, readOnly, ...props }: InputProps): React.JSX.Element; declare namespace InputGroupInput { var displayName: string; } declare function InputGroupTextarea({ className, state, disabled, readOnly, ...props }: TextareaProps): React.JSX.Element; declare namespace InputGroupTextarea { var displayName: string; } export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, };