import { CSSProperties } from 'react'; import { HtmlProps } from '../types/slots.types.js'; import { ColorValue } from '../themeProvider/color.types.js'; export declare enum LoaderType { /** An arc that grows and shrinks on a faint track. The default, and the one that reads at any size. */ Spinner = "spinner", /** A glowing head trailing a fading tail round a ring. For a hero spot: a page, a panel, an overlay. */ Comet = "comet", /** Three dots in a wave. For a line of text or a chat reply being written. */ Dots = "dots", /** Bars rising and falling like an equaliser. For media, uploads and data being processed. */ Bars = "bars", /** Rings rippling out from a core. For waiting on something outside the app: a device, a connection, a search. */ Pulse = "pulse" } export interface LoaderLabels { /** The loader's accessible name. */ loading?: string; } export interface LoaderProps extends HtmlProps { /** The animation. Defaults to `LoaderType.Spinner`. */ type?: LoaderType; /** Width and height: any CSS length, or a number of pixels. Defaults to `'2.5em'`, so it follows the font size around it. */ size?: number | string; /** A `ThemeColor` or any CSS colour. Defaults to `ThemeColor.Primary`; `ThemeColor.Neutral` takes the colour of the text around it. */ color?: ColorValue; /** Text the loader produces itself. See `LoaderLabels`. */ labels?: LoaderLabels; className?: string; style?: CSSProperties; }