import { IconName } from '@fortawesome/fontawesome-svg-core'; import { HoistProps } from '@xh/hoist/core'; import { HoistIconPrefix } from '@xh/hoist/icon'; import './Spinner.scss'; export interface SpinnerDefaults { iconName?: IconName; prefix?: HoistIconPrefix; usePng?: boolean; } export interface SpinnerProps extends HoistProps { /** True to return a smaller spinner suitable for inline/compact use. */ compact?: boolean; /** FA icon name to use. Default set via `Spinner.defaults.iconName`. */ iconName?: IconName; /** FA icon prefix/weight. Default set via `Spinner.defaults.prefix`. */ prefix?: HoistIconPrefix; /** True to use legacy animated PNG images. Default set via `Spinner.defaults.usePng`. */ usePng?: boolean; } /** * An animated spinner rendered via a FontAwesome icon with a CSS rotation animation. Used for * the platform-specific `Mask` and `LoadingIndicator` components. * * The rotation animation is applied via CSS on the `.xh-spinner` class rather than FA's * animation props, ensuring the spinner remains functional when the OS-level * `prefers-reduced-motion` preference is enabled (FA disables all its animations in that case). * * The icon and legacy PNG fallback can be configured per-instance via props or globally via * `Spinner.defaults` (e.g. in app Bootstrap.ts): * * ```ts * Spinner.defaults.iconName = 'circle-notch'; * Spinner.defaults.prefix = 'far'; * Spinner.defaults.usePng = true; // fall back to animated PNG * ``` */ export declare const Spinner: any, spinner: import("@xh/hoist/core").ElementFactory;