import { SSEClient, SSEState } from './SSEClient'; export type SSEMode = 'sse' | 'fallback'; export type Scheduler = (delayMs: number, work: () => void) => void; export type SyncRequestedCallback = (completion: () => void) => void; export type ServerEventCallback = (name: string, eventParams: Record | null) => void; export interface SSEControllerOptions { sseClient: SSEClient; onSyncRequested: SyncRequestedCallback; onServerEventTriggered: ServerEventCallback; syncDebounceMs?: number; fallbackAfterAttempts?: number; scheduler?: Scheduler; } export declare class SSEController { private readonly sseClient; private readonly onSyncRequested; private readonly onServerEventTriggered; private readonly syncDebounceMs; private readonly fallbackAfterAttempts; private readonly scheduler; private hasReachedOpen; private modeInternal; private syncInFlight; private pendingSyncDispatch; private generation; constructor(opts: SSEControllerOptions); get mode(): SSEMode; start(): void; stop(): void; reconnect(): void; handleMessage(type: string, data: string): void; handleStateChange(state: SSEState): void; private triggerSyncDebounced; private handleShutdown; } //# sourceMappingURL=SSEController.d.ts.map