import { type VariantProps } from "class-variance-authority"; import React from "react"; declare const splitHalfVariants: (props?: ({ variant?: "accent" | "warning" | "outline" | "transparent" | "destructive" | null | undefined; size?: "default" | "small" | null | undefined; side?: "main" | "icon" | null | undefined; soloOnMobile?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type SplitButtonVariant = NonNullable["variant"]>; type SplitButtonSize = NonNullable["size"]>; interface SplitButtonIconAction { icon: React.ReactNode; /** The icon half is interactive but has no visible text — needs an accessible name. */ "aria-label": string; onClick?: React.MouseEventHandler; href?: string; /** * Opens `href` with `target="_blank"`. Also marks the half as a new-tab * affordance, which hides it below `md` (set it for `onClick` handlers that * open a new tab/window themselves). */ openInNewTab?: boolean; prefetch?: boolean; disabled?: boolean; } interface SplitButtonProps { variant?: SplitButtonVariant; size?: SplitButtonSize; fullWidth?: boolean; className?: string; children: React.ReactNode; onClick?: React.MouseEventHandler; href?: string; openInNewTab?: boolean; prefetch?: boolean; leftIcon?: React.ReactNode; rightIcon?: React.ReactNode; /** Disables both halves. Equivalent to `mainDisabled && iconAction.disabled`. */ disabled?: boolean; /** Disables only the main half. Combine with `iconAction.disabled` for finer control. */ mainDisabled?: boolean; type?: "button" | "submit" | "reset"; "aria-label"?: string; groupAriaLabel?: string; iconAction: SplitButtonIconAction; } declare const SplitButton: React.ForwardRefExoticComponent>; export { SplitButton, type SplitButtonProps, type SplitButtonIconAction }; //# sourceMappingURL=split-button.d.ts.map