import { StateBaseElement } from '../Abstracts/StateBaseElement'; import { IBusyStateElementProps } from './IBusyStateElementProps'; declare const BusyStateElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof StateBaseElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * BusyState - A loading state component that indicates ongoing processes or data retrieval operations. * * @description * The BusyState component displays animated loading indicators and optional status messages to inform * users when content is being loaded, processed, or retrieved. It provides visual feedback for * asynchronous operations to maintain user engagement and communicate system activity. The component * supports progress indicators, customizable messaging, and optional action buttons such as cancel * operations. It's designed to maintain user confidence during wait times by clearly communicating * that the system is working on their request. * * @name BusyState * @element mosaik-busy-state * @category States * * @slot - Default content area for additional loading state information or custom elements * @slot actions - Action buttons or controls available during loading (e.g., cancel operation, dismiss) * * @csspart symbol - The loading indicator container for progress ring or spinner * @csspart header - The header text container for primary loading status messaging * @csspart content - The content text container for detailed loading information * @csspart innerStack - The internal stack container for action slot elements * * @cssprop {String} --busy-state-foreground-color - The text color for busy state content * @cssprop {String} --busy-state-gap - The spacing between symbol, text, and action elements * @cssprop {String} --busy-state-header-font-family - The font family for header text * @cssprop {String} --busy-state-header-font-size - The font size for header text * @cssprop {String} --busy-state-header-font-line-height - The line height for header text * @cssprop {String} --busy-state-header-font-weight - The font weight for header text * @cssprop {String} --busy-state-header-font-letter-spacing - The letter spacing for header text * @cssprop {String} --busy-state-header-font-text-decoration - The text decoration style for header text * @cssprop {String} --busy-state-header-font-text-transform - The text transformation style for header text * @cssprop {String} --busy-state-padding-top - The top padding inside the busy state container * @cssprop {String} --busy-state-padding-right - The right padding inside the busy state container * @cssprop {String} --busy-state-padding-bottom - The bottom padding inside the busy state container * @cssprop {String} --busy-state-padding-left - The left padding inside the busy state container * * @dependency {ProgressRingElement} - For animated loading indicators and progress visualization * @dependency {TextElement} - For rendering header and content text messages * @dependency {StackElement} - For layout management and content arrangement * * @example * Simple loading state: * ```html * * ``` * * @example * Loading state with cancel action: * ```html * * Cancel * * ``` * * @example * Loading state with detail text set via JavaScript: * ```html * * * ``` * * @public */ export declare class BusyStateElement extends BusyStateElement_base implements IBusyStateElementProps { private _header; private _icon; /** * Constructs a new instance of the `BusyStateElement` class. * * @public */ constructor(); /** * Returns the `is` property. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `icon` property. * The icon SVG path data for the loading indicator. * The default value is an empty string. * * @public */ get icon(): string; set icon(value: string); /** * Gets or sets the `header` property. * The primary loading status message displayed to users. * The default value is an empty string, which means no header is displayed. * * @public * @attr */ get header(): string; set header(value: string); } /** * @public */ export declare namespace BusyStateElement { type Props = IBusyStateElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-busy-state': BusyStateElement; } } export {}; //# sourceMappingURL=BusyStateElement.d.ts.map