import * as _angular_core from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';

/**
 * @description
 * A skeleton loading component that provides various shapes and sizes for placeholder content.
 * Used to indicate loading states in the UI with different geometric shapes.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <!-- Circle skeleton -->
 * <eui-skeleton [circle]="true" euiSizeM />
 *
 * <!-- Line skeleton -->
 * <eui-skeleton [line]="true" euiSizeL />
 *
 * <!-- Rectangle skeleton -->
 * <eui-skeleton [rectangle]="true" euiSizeXL />
 * ```
 *
 * ### Accessibility
 * - Use `aria-busy="true"` on parent container while loading
 * - Provide `aria-live="polite"` region for content updates
 * - Consider adding visually hidden text describing loading state
 *
 * ### Notes
 * - Only one shape should be active at a time (circle, line, square, or rectangle)
 * - Combine with size variants (euiSizeXS, euiSizeS, euiSizeM, euiSizeL, euiSizeXL) for different dimensions
 * - Use euiRounded for rounded corners on rectangle/square shapes
 */
declare class EuiSkeletonComponent {
    /**
     * @description
     * When true, renders the skeleton as a circle shape
     * @default false
     */
    circle: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * @description
     * When true, renders the skeleton as a line shape
     * @default false
     */
    line: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * @description
     * When true, renders the skeleton as a square shape
     * @default false
     */
    square: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * @description
     * When true, renders the skeleton as a rectangle shape
     * @default false
     */
    rectangle: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * @description
     * Instance of BaseStatesDirective used to manage component states
     */
    baseStatesDirective: BaseStatesDirective;
    /**
     * @description
     * Computes and returns the CSS classes for the skeleton component.
     *
     * @returns {string} Space-separated string of CSS class names
     */
    protected cssClasses: _angular_core.Signal<string>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<EuiSkeletonComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<EuiSkeletonComponent, "eui-skeleton", never, { "circle": { "alias": "circle"; "required": false; "isSignal": true; }; "line": { "alias": "line"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; "rectangle": { "alias": "rectangle"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiSizeXS": "euiSizeXS"; "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeL": "euiSizeL"; "euiSizeXL": "euiSizeXL"; "euiRounded": "euiRounded"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
}

declare const EUI_SKELETON: readonly [typeof EuiSkeletonComponent];

export { EUI_SKELETON, EuiSkeletonComponent };
//# sourceMappingURL=eui-components-eui-skeleton.d.ts.map
