import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
import { type Exclusive } from '../types/helpers';
type DotType = {
/**
* The badge will be displayed as a dot.
* This prop is exclusive to `count` and `digit` prop.
*
* If this undefined, the badge will not be displayed.
*/
dot?: true;
};
type CountType = {
/**
* The count of the badge.
* This prop is exclusive to `digit` prop.
*
* If this undefined, the badge will not be displayed.
* If this is a number:
* Display the count with a `+` sign if it exceeds the specified digit.
* Display the count as is if it does not exceed the specified digit.
*/
count?: number;
/**
* The digits of the count to display.
* This prop is exclusive to `count` prop.
*
* If this is not specified, the count will be displayed as is.
* If this is specified, the count will be displayed with a `+` sign if it exceeds the specified digit.
*
* @default undefined
*/
digit?: number;
};
export type BadgeProps = {
/**
* The component which the badge will be displayed in the top-right corner.
*
* If `children` is `undefined`, the badge will be a standalone component.
*
* @default undefined
*/
children?: ReactNode;
/**
* The class name of the component.
*
* @default undefined
*/
className?: string;
/**
* The invisible label to specify how you want the badge to be recognized and read by screen readers.
* This prop is required.
*
* @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label
*
* @example
* ```jsx
*
*
*
*
*
*
* // The button will be described as "通知, 5件の新しい通知があります" by screen readers.
* ```
*/
'aria-label': string;
} & Exclusive & ComponentPropsWithoutRef<'span'>;
export {};