import * as class_variance_authority_types from 'class-variance-authority/types'; import * as React from 'react'; import { VariantProps } from 'class-variance-authority'; type ButtonColor = "primary" | "secondary" | "tertiary" | "link" | "primary-destructive" | "secondary-destructive"; declare const buttonVariants: (props?: ({ color?: "primary" | "secondary" | "link" | "tertiary" | "primary-destructive" | "secondary-destructive" | null | undefined; size?: "xs" | "sm" | "lg" | "xl" | "md" | "default" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined; shape?: "rounded" | "pill" | null | undefined; } & class_variance_authority_types.ClassProp) | undefined) => string; interface ButtonProps extends Omit, "color" | "size">, VariantProps { /** Legacy variant prop for compatibility. Maps onto color variants. */ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "informative"; /** Untitled UI-style color alias. Takes precedence over `variant` when set. */ color?: ButtonColor; /** Icon rendered before the label. Ignored when `asChild` is set. */ iconLeading?: React.ReactNode; /** Icon rendered after the label. Ignored when `asChild` is set. */ iconTrailing?: React.ReactNode; /** Show a spinner and make the button non-interactive. */ isLoading?: boolean; /** Merge props onto the single child element (Radix Slot) — for links. */ asChild?: boolean; } /** * The default button — use this for actions across app-kit dashboards and * forms. Supports `variant` ("default" | "outline" | "secondary" | "ghost" | * "link" | "destructive" …), `iconLeading`/`iconTrailing`, `isLoading`, and * `asChild` (render as a link). * * This is the single button for the whole package — chat, studio, and app-kit * surfaces all use it. For a fully-rounded pill (chat/studio chrome) pass * `shape="pill"`; for an icon-only button use `size="icon" | "icon-sm" | …`. * * @example * ```tsx * * * * ``` */ declare const Button: React.ForwardRefExoticComponent & React.RefAttributes>; export { Button as B, type ButtonColor as a, type ButtonProps as b };