/** * ZUI Loading Component * Loading indicator for async operations */ import { Component } from '../../core/Component'; import type { BaseProps, Rect } from '../../core/types'; export interface LoadingProps extends BaseProps { /** Whether loading is visible */ visible?: boolean; /** Loading message */ message?: string; /** Size of the spinner */ size?: 'small' | 'medium' | 'large'; /** Color of the spinner */ color?: string; /** Position X */ x?: number; /** Position Y */ y?: number; } /** * Loading component with animated spinner * * Based on ZeppOS design: * - Centered on screen by default * - Natural circular animation * - Optional message text * * @example * ```ts * // Basic loading * const loading = new Loading({ visible: true }); * * // With message * const loading = new Loading({ * visible: true, * message: 'Please wait...', * size: 'large', * }); * * // Hide loading * loading.setVisible(false); * ``` */ export declare class Loading extends Component { readonly type = "Loading"; private spinnerWidget; private backgroundWidget; private messageWidget; private animationInterval; private currentAngle; protected getDefaultProps(): Partial; protected calculateLayout(parentRect?: Rect): void; protected createWidgets(): void; protected updateWidgets(): void; protected destroyWidgets(): void; private startAnimation; private stopAnimation; /** * Set loading visibility */ setVisible(visible: boolean): void; /** * Set loading message */ setMessage(message: string): void; /** * Show loading */ show(): void; /** * Hide loading */ hide(): void; } /** * Show global loading indicator */ export declare function showLoading(props?: Omit): Loading; /** * Hide global loading indicator */ export declare function hideLoading(): void; /** * Create a Loading component */ export declare function createLoading(props: LoadingProps): Loading; //# sourceMappingURL=Loading.d.ts.map