import { CSSProperties } from 'react';
import { AriaButtonProps } from '@react-types/button';
import { InferredIconName } from '../Icon/Icon.types';

export interface Props extends AriaButtonProps {
  /**
   * Custom class for overriding this component's CSS.
   */
  className?: string;

  /**
   * Custom id for overriding this component's CSS.
   */
  id?: string;

  /**
   * Custom style for overriding this component's CSS.
   */
  style?: CSSProperties;

  /**
   * Size index of this NavTab.
   */
  size?: number;

  /**
   * Label to the right of the icon when expanded for this NavTab.
   */
  label?: string;

  /**
   * Icon for this NavTab.
   */
  icon?: InferredIconName;

  /**
   * The amount inside the badge of components of this NavTab. If 0, then it is not shown.
   */
  count?: number;

  /**
   * True if the tab is active.
   */
  active?: boolean;
}

export type NavTabSize = 40 | 48 | 200;
