import { ReactNode } from "react"; import { useRender } from "@base-ui/react/use-render"; import { VariantProps } from "class-variance-authority"; //#region src/components/button.d.ts /** * Disabled styling for a button that is only `aria-disabled`. * * The `disabled:` utilities below are CSS `:disabled`, which cannot match an * element that carries no native `disabled` attribute, and `pointer-events-none` * is deliberately not repeated: that rule is the reason a disabled button's * tooltip can never open. Matches the treatment `disabled:opacity-64` gives, and * swaps the cursor so the control still reads as unavailable on hover. */ declare const buttonAccessibleDisabledClass = "cursor-not-allowed opacity-64"; declare const buttonVariants: (props?: ({ size?: "chip" | "default" | "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs" | "lg" | "row" | "sm" | "xl" | "xs" | null | undefined; variant?: "default" | "destructive" | "destructive-ghost" | "destructive-outline" | "ghost" | "link" | "muted" | "outline" | "secondary" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type ButtonProps = { variant?: VariantProps["variant"]; size?: VariantProps["size"]; loading?: boolean; icon?: ReactNode; tooltip?: ReactNode; } & useRender.ComponentProps<"button">; declare function Button({ className, variant, size, render, loading, icon, children, disabled, tooltip, ...props }: ButtonProps): import("react").JSX.Element; //#endregion export { Button, buttonAccessibleDisabledClass, buttonVariants };