/**
 * UiState Scheduler
 * Phase 3: Rebuild UiState on steady cadence, handle expensive checks slower
 */
import type { AppState } from '../store.js';
import type { UiState } from '../core/types.js';
type UiStateUpdateHandler = (uiState: UiState) => void;
declare class UiStateScheduler {
    private interval;
    private handler;
    private getAppState;
    private refreshIntervalMs;
    private networkIntervalMs;
    constructor(refreshIntervalMs?: number, networkIntervalMs?: number);
    /**
     * Start scheduler
     * getAppState is a function that returns current AppState (allows dynamic updates)
     */
    start(getAppState: () => AppState, handler: UiStateUpdateHandler): void;
    /**
     * Refresh UiState (rebuild from collectors)
     */
    private refresh;
    /**
     * Stop scheduler
     */
    stop(): void;
}
/**
 * Get or create scheduler
 */
export declare function getScheduler(): UiStateScheduler;
/**
 * Start scheduler
 * getAppState is a function that returns current AppState (allows dynamic updates)
 */
export declare function startScheduler(getAppState: () => AppState, handler: UiStateUpdateHandler): void;
/**
 * Stop scheduler
 */
export declare function stopScheduler(): void;
export {};
//# sourceMappingURL=uiStateScheduler.d.ts.map