/** Display-only account-scoped summary. Official sessions remain the source of running/pending state. */ export declare const HARNESS_ACTIVITY_ATTRIBUTE = "data-arkme-harness-activity"; export declare const HARNESS_ACTIVITY_EVENT = "arkme:harness-activity"; export interface HarnessActivityItem { id: string; title: string; } export interface HarnessActivity { scope: string; /** The native selection is also the destination of the Arkme entry. Null means a new conversation. */ current?: HarnessActivityItem | null; /** Latest real root conversation by native activity time, independent of selection. */ recent?: HarnessActivityItem; running: HarnessActivityItem[]; unread: HarnessActivityItem[]; pending: HarnessActivityItem[]; } export interface ActivitySession { id: string; displayTitle: string; running: boolean; origin?: string; parentId?: string; blank?: boolean; completed?: boolean; pendingInteraction?: string; updatedAt?: number; } export interface ActivityList { phase: string; ids: readonly string[]; byId: Readonly>; current?: string | undefined; } export type PendingInteractions = ReadonlyMap; type StorageFace = Pick; /** Only unread reminder ids are local; no copied sessions, histories or execution states. */ export declare class HarnessActivityTracker { readonly scope: string; private readonly storage?; private unread; private previous; private readonly key; private persisted; constructor(scope: string, storage?: StorageFace | undefined); update(list: ActivityList, archived: readonly string[], pending: PendingInteractions | undefined, visibleSession?: string): HarnessActivity; } export declare function parseHarnessActivity(raw: string | null, scope: string | undefined): HarnessActivity | undefined; export {}; //# sourceMappingURL=harness-activity.d.ts.map