import type { ComponentPropsWithRef, ReactNode } from 'react'; /** * Peek's IconButton (2026-08-28), verbatim: a square 4px-padded button * around a 16px icon, 8px radius, three variants, an optional tooltip that * portals above or below. Plus `type="button"` by default (Ship's addition), * so it never submits a form by accident. On Base UI's Button since stage 2 * of the migration (2026-09-07). * * `disabledReason` disables it, keeps it reachable by keyboard, and shows * the reason in place of the tooltip — see Button. */ export type IconButtonVariant = 'muted' | 'outlined' | 'primary' | 'current' | 'resolve'; /** `ComponentPropsWithRef` so a `ref` reaches the element — see Button. */ export interface IconButtonProps extends ComponentPropsWithRef<'button'> { /** * `current` takes the colour of what it sits in — the ✕ on a `Banner` wears * the banner's tone. `resolve` is `muted` that turns green when pointed at in * Signal, Peek's Resolve (UIG-9, 17 September; before, each app passed these * as classes). */ variant?: IconButtonVariant; /** On, like a Bold button while the selection is bold: the active fill, and `aria-pressed`. */ pressed?: boolean; /** A glow in Signal — the send arrow while there is something to send. */ glow?: boolean; tooltip?: string; /** A key hint drawn as the `Kbd` chip inside the tooltip — for a button * whose only other affordance is a keyboard shortcut. */ tooltipShortcut?: string; tooltipPlacement?: 'top' | 'bottom'; /** Why the action cannot succeed right now. Disables the button, keeps it * reachable by keyboard, and shows the reason as the tooltip. */ disabledReason?: string; /** * A link that looks like an icon button: an anchor, so the address stays * real for a modified click or a new tab, as `Link` keeps it. A router app * passes `onClick`, prevents the default and navigates. A link cannot be * disabled, so while it would be — `disabled`, `disabledReason`, a busy * Form — it is the button (UIG-14, Katerina, 18 September). */ href?: string; /** The icon: 16px, stroke 1.5. */ children: ReactNode; } export declare function IconButton({ variant, pressed, glow, className, children, disabled, disabledReason, tooltip, tooltipShortcut, tooltipPlacement, type, href, ...props }: IconButtonProps): import("react").JSX.Element; //# sourceMappingURL=IconButton.d.ts.map