import { type CommandMessage, type HelloMessage, type ReticleEvent } from '@reticlehq/core'; export interface CommandOutcome { ok: boolean; result?: unknown; error?: string; } interface TransportDeps { url: string; hello: () => HelloMessage; handleCommand: (command: CommandMessage) => Promise; now?: () => number; onConnected?: () => void; onConnectionLost?: () => void; onUnreachable?: (detail: { url: string; attempts: number; }) => void; onVisible?: (handler: () => void) => () => void; schedule?: (fn: () => void, ms: number) => void; } export declare const RECONNECT_MAX_DELAY_MS = 30000; export declare function nextReconnectDelay(previous: number): number; export declare const MAX_QUEUE = 500; export declare class Transport { #private; constructor(deps: TransportDeps); connect(): void; sendEvent(event: ReticleEvent): void; reannounce(): void; close(): void; } export {};