import { SdkStatus } from '../models/models'; type StatusCallback = (status: SdkStatus) => void; declare class StatusService { private currentStatus; private callbacks; private pollTimerId; private failTimeoutId; getStatus(): SdkStatus | undefined; setStatus(status: SdkStatus): void; registerCallback(cb: StatusCallback): string; deregisterCallback(id: string): void; /** * Start Desktop detection polling loop. * * @param detectFn async function that resolves if Desktop is found, rejects if not * @param interval ms between attempts * @param failTimeout ms before transitioning to FAILED or DEGRADED * @param onFallback optional callback invoked on timeout instead of FAILED/DEGRADED (e.g. to start Connect) */ startPolling(detectFn: () => Promise, interval: number, failTimeout: number, onFallback?: () => void): void; /** * Resume Desktop detection polling without resetting status or setting a fail timeout. * Used after a fallback decision (e.g. FAILED/DEGRADED) to continue detecting Desktop * in the background so a late launch can still transition to RUNNING. * * @param detectFn async function that resolves if Desktop is found, rejects if not * @param interval ms between attempts */ resumePolling(detectFn: () => Promise, interval: number): void; stopPolling(): void; reset(): void; } export declare const statusService: StatusService; export {};