import type { ButtonHTMLAttributes, Ref } from "react";
type Variant = "accent" | "neutral" | "ghost" | "danger";
type Size = 24 | 32 | 40 | 48;
export interface IconButtonProps extends ButtonHTMLAttributes {
/** Visual variant. @default "neutral" */
variant?: Variant;
/** Square size in px (24 | 32 | 40 | 48). @default 32 */
size?: Size;
/** Render as an anchor with this href (D33). disabled → aria-disabled,
* no href attribute, pointer-events: none. */
href?: string;
/** Anchor target; only used with href. */
target?: string;
/** Anchor rel; only used with href. */
rel?: string;
/** Forwarded ref to the underlying element. */
ref?: Ref;
}
/** Square icon-only button; same variant/size/href contract as Button.
* Give it an accessible name (`aria-label`). */
export declare function IconButton({ variant, size, href, target, rel, disabled, className, onClick, ref, ...rest }: IconButtonProps): import("react").JSX.Element;
export {};
//# sourceMappingURL=IconButton.d.ts.map