import { LitElement } from 'lit'; export type StatusLevel = 'success' | 'warning' | 'error' | 'checking'; export type Size = 'small' | 'medium' | 'large'; export interface SystemRequirements { features?: Record; device?: { minMemory?: number; minCores?: number; mobile?: boolean; touchRequired?: boolean; }; screen?: { minWidth?: number; minHeight?: number; minColorDepth?: number; minDevicePixelRatio?: number; }; network?: { required?: boolean; minDownlink?: number; maxRTT?: number; effectiveType?: string; }; hardware?: { minCores?: number; minMemory?: number; }; storage?: { localStorage?: boolean; sessionStorage?: boolean; indexedDB?: boolean; minQuota?: number; }; media?: { mediaDevices?: boolean; webRTC?: boolean; audioCodecs?: Record; videoCodecs?: Record; }; } /** * Círculo de estado que muestra el nivel de compatibilidad del sistema * * @element system-status * * @prop {SystemRequirements} requirements - Requisitos del sistema a validar * @prop {Size} size - Tamaño del círculo: 'small', 'medium', 'large' * @prop {boolean} autoCheck - Si debe verificar automáticamente al cargar * @prop {boolean} showTooltip - Si debe mostrar tooltip con información * * @fires status-change - Se dispara cuando cambia el estado * @fires click - Se dispara al hacer click en el círculo * * @example * ```html * * ``` */ export declare class SystemStatus extends LitElement { static styles: import("lit").CSSResult; requirements: SystemRequirements; size: Size; autoCheck: boolean; showTooltip: boolean; private status; private message; private failures; private tooltipVisible; private systemInfo; private capabilities; checkSystem(): Promise; private handleClick; private handleClickOutside; connectedCallback(): void; disconnectedCallback(): void; private getIcon; private renderTooltipContent; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'system-status': SystemStatus; } } //# sourceMappingURL=system-status.d.ts.map