import { StateBaseElement } from '../Abstracts/StateBaseElement';
import { IBusyStateElementProps } from './IBusyStateElementProps';
declare const BusyStateElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof StateBaseElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * BusyState - A loading state component that indicates ongoing processes or data retrieval operations.
 *
 * Displays animated loading indicators and optional status messages to inform users when content
 * is being loaded, processed, or retrieved. Provides visual feedback for asynchronous operations
 * to maintain user engagement and communicate system activity.
 *
 * @name BusyStateElement
 * @element mosaik-busy-state
 * @category States
 *
 * @slot - Default content area for additional loading state information
 * @slot actions - Action buttons or controls available during loading (e.g., cancel operation)
 *
 * @csspart icon - Loading indicator container for progress ring or spinner
 * @csspart header - Header text container for loading status messaging
 * @csspart content - Content text container for detailed loading information
 *
 * @cssprop --busy-state-foreground-color - Text color for busy state content
 * @cssprop --icon-foreground-color - Color for the loading indicator
 * @cssprop --busy-state-header-font-family - Font family for header text
 * @cssprop --busy-state-header-font-size - Font size for header text
 * @cssprop --busy-state-header-font-line-height - Line height for header text
 * @cssprop --busy-state-header-font-weight - Font weight for header text
 * @cssprop --busy-state-header-font-letter-spacing - Letter spacing for header text
 * @cssprop --busy-state-header-font-text-decoration - Text decoration for header text
 * @cssprop --busy-state-header-font-text-transform - Text transform for header text
 *
 * @dependency ProgressRingElement - For animated loading indicators and progress visualization
 * @dependency TextElement - For rendering header and content text
 * @dependency StackElement - For layout management and content arrangement
 *
 * @example
 * ```html
 * <!-- Simple loading state -->
 * <mosaik-busy-state>
 *   <mosaik-progress-ring slot="icon"></mosaik-progress-ring>
 *   <mosaik-text slot="header">Loading...</mosaik-text>
 * </mosaik-busy-state>
 *
 * <!-- Data loading with details -->
 * <mosaik-busy-state>
 *   <mosaik-progress-ring slot="icon"></mosaik-progress-ring>
 *   <mosaik-text slot="header">Loading your dashboard</mosaik-text>
 *   <mosaik-text slot="content">This may take a few moments</mosaik-text>
 * </mosaik-busy-state>
 *
 * <!-- Upload progress -->
 * <mosaik-busy-state>
 *   <mosaik-progress-ring slot="icon" value="65"></mosaik-progress-ring>
 *   <mosaik-text slot="header">Uploading files...</mosaik-text>
 *   <mosaik-text slot="content">65% complete</mosaik-text>
 *   <div slot="actions">
 *     <mosaik-button appearance="soft" onclick="cancelUpload()">Cancel</mosaik-button>
 *   </div>
 * </mosaik-busy-state>
 *
 * <!-- Search in progress -->
 * <mosaik-busy-state>
 *   <mosaik-progress-ring slot="icon"></mosaik-progress-ring>
 *   <mosaik-text slot="header">Searching...</mosaik-text>
 *   <mosaik-text slot="content">Finding the best results for you</mosaik-text>
 * </mosaik-busy-state>
 * ```
 *
 * @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 of the state.
     *
     * @public
     */
    get icon(): string;
    set icon(value: string);
    /**
     * Gets or sets the header property of the state.
     *
     * @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