/** A user-visible operation that may take long enough to need status UI. */ export interface BlitActivity { id: number; kind: "upload" | "download" | "sync" | "search" | "operation"; /** The item being acted on: normally a file name or path. */ label: string; /** Optional destination/source, such as a surface title or terminal cwd. */ target?: string; /** Completed and total work in producer-defined units (bytes for uploads). */ completed?: number; total?: number; startedAt: number; } export interface BlitActivityUpdate { label?: string; target?: string; completed?: number; total?: number; } export interface BlitActivityHandle { readonly id: number; update(update: BlitActivityUpdate): void; finish(): void; } /** Workspace-scoped registry consumed by status bars and other shell chrome. * Producers own handles, update them as work advances, and always finish them * on success, failure, or cancellation. */ export declare class BlitActivityStore { private readonly records; private readonly listeners; private snapshot; private nextId; subscribe: (listener: () => void) => (() => void); getSnapshot: () => readonly BlitActivity[]; begin(activity: Omit): BlitActivityHandle; clear(): void; private emit; } //# sourceMappingURL=activity.d.ts.map