import type { FileChangeEvent } from "@skaile/workspaces/types"; type WorkspaceChange = { identity: string; mountId: string; path: string; action: string; }; /** Opaque snapshot reserved for one agent-visible delivery attempt. */ export type WorkspaceChangeReservation = { changes: WorkspaceChange[]; untrackedEvents: number; untrackedEventsSaturated: boolean; admissionSealed: boolean; }; /** * Bounded session-local buffer for idle-time filesystem notifications. * Reservations are immutable views: live coalescing continues until a * successful delivery commits, while a failed delivery needs no rollback. */ export declare class WorkspaceChangeAccumulator { private changes; private untrackedEvents; private untrackedEventsSaturated; private admissionSealed; add(event: FileChangeEvent): void; private addChange; reserve(): WorkspaceChangeReservation | null; replace(reservation: WorkspaceChangeReservation | null): void; clear(): void; } /** Render one bounded, escaped block of untrusted workspace notifications. */ export declare function renderWorkspaceChangeDigest(reservation: WorkspaceChangeReservation): string; export {}; //# sourceMappingURL=workspace-change-digest.d.ts.map