import type { RemoteLink } from './remotelink'; export interface UplinkStatus { lastSentTs: number | null; failures: number; rejected: boolean; unentitled: boolean; lastError: string | null; } export declare function reportedStatus(socket: { connected: boolean; lastFrameTs: number | null; rejected?: boolean; unentitled?: boolean; lastError?: string | null; } | null | undefined, post: UplinkStatus | null): UplinkStatus | null; export interface UplinkDeps { relayUrl: string; getRemote: () => RemoteLink | undefined; debug: (msg: string) => void; intervalMs?: number; liveHealthy?: () => boolean; } export declare class Uplink { private readonly deps; private timer; private inFlight; private readonly intervalMs; private stopped; private lastSentTs; private failures; private rejected; private unentitled; private lastError; constructor(deps: UplinkDeps); start(): void; stop(): void; status(): UplinkStatus; reset(): void; private schedule; private tick; private backoffMs; private send; }