import { BreakpointSupport } from '../../../helpers'; import { IconSize } from '../../base/icon/icon'; export type SpinnerSize = IconSize | 10; export type SpinnerColor = 'primary' | 'secondary'; export type SpinnerPosition = 'absolute'; type SpinnerBreakpointProps = { /** * Defines the size of the spinner. * Accepted values: 8, 10 (small), 12, 16 (default), 18, 24, 36, 48 (large). * * @default 16 */ size?: SpinnerSize; /** * Specifies the color theme of the spinner. * The color should meet accessibility standards for color contrast. * * @default 'primary' */ color?: SpinnerColor; /** * Sets the spinner's positioning behavior. * This is useful when you want to position the spinner over other elements. */ position?: SpinnerPosition; }; export interface SpinnerProps extends BreakpointSupport { /** * Adds a custom CSS class to the spinner element for additional styling or theming purposes. */ className?: string; /** * Provides a text label for screen readers to announce the spinner's purpose or status. */ label?: string; /** * Renders the spinner as purely decorative — no `role="status"` live region and * no screen-reader label. Use when the loading state is already announced by an * ancestor (e.g. a button's `aria-busy`), so it isn't announced twice. * @default false */ decorative?: boolean; } export declare const Spinner: (props: SpinnerProps) => JSX.Element; export {};