import { AxPlatform, AxSnapshot } from './ax-tree'; export type AxStatus = 'idle' | 'starting' | 'ready' | 'unavailable' | 'error'; export type AxFetcherSendFn = (payload: Record) => boolean; export interface AxFetcherOptions { platform: AxPlatform; send: AxFetcherSendFn; onSnapshot: (snapshot: AxSnapshot | null) => void; onStatusChange?: (status: AxStatus, error?: string) => void; baseIntervalMs?: number; maxBackoffMs?: number; } export declare class AxFetcher { private readonly platform; private readonly send; private readonly onSnapshot; private readonly onStatusChange?; private readonly baseIntervalMs; private readonly maxBackoffMs; private readonly pending; private running; private timer; private currentInterval; private lastSnapshot; private inflight; private lastBumpAtMs; private boostUntilMs; private status; constructor(opts: AxFetcherOptions); start(): void; stop(): void; getStatus(): AxStatus; private setStatus; bumpActivity(): void; refresh(): Promise; getLatest(): AxSnapshot | null; handleMessage(message: { type?: string; id?: string; [k: string]: unknown; }): boolean; private buildRequest; private requestOnce; private runOnce; private deliver; private scheduleNext; private settleResolve; private settleReject; private failAllPending; }