import * as React from "react";

export interface IconButtonProps {
  /** A 16–18px stroke icon element. */
  children?: React.ReactNode;
  size?: "sm" | "md";
  variant?: "ghost" | "solid";
  /** Persistent pressed/selected state (e.g. active view toggle). */
  active?: boolean;
  disabled?: boolean;
  /** Tooltip + aria-label — always provide one. */
  title?: string;
  onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
  style?: React.CSSProperties;
}

/**
 * Square icon-only button for dense row actions and toolbars.
 */
export function IconButton(props: IconButtonProps): JSX.Element;
