import type { ReactNode } from 'react';

export interface HeaderAction {
  /** The text label of the action item. */
  label: string;
  /** Handler called when the action is clicked. */
  onClick: () => void;
  /** An icon to display before the text. */
  icon?: ReactNode;
  /** Disables the action both visually and functionally. */
  disabled?: boolean;
  /** Tooltip text shown when the action is disabled. */
  disabledTooltip?: string;
  /** Visual style — 'dark' (default) or 'destructive' (red). */
  skin?: 'dark' | 'destructive';
  /** When true, replaces the icon with a spinner, forces disabled, and suppresses `disabledTooltip`. */
  loading?: boolean;
}
