import type { RelayFileClient } from "./client.js"; import type { ConnectionProvider } from "./connection.js"; import type { WritebackItem } from "./types.js"; export interface WritebackHandler { canHandle(path: string): boolean; execute(item: WritebackItem, provider: ConnectionProvider): Promise; } export interface WritebackConsumerOptions { client: RelayFileClient; workspaceId: string; handlers: WritebackHandler[]; provider: ConnectionProvider; pollIntervalMs?: number; signal?: AbortSignal; } export declare class WritebackConsumer { private readonly client; private readonly workspaceId; private readonly handlers; private readonly provider; private readonly pollIntervalMs; private readonly signal?; private loopPromise?; private stopped; constructor(opts: WritebackConsumerOptions); start(): Promise; stop(): void; pollOnce(signal?: AbortSignal): Promise; private runLoop; private ackFailure; }