import { TalkTopicRepository } from "./repository.js"; import type { TalkTopic, TopicResolution } from "./types.js"; export interface ScreenTopicObservation { credentialGeneration: number; revision: number; routeId: string; path: string; title: string; freshness: "complete" | "partial" | "stale"; meaningfulText?: string; selectedObject?: { kind: string; id: string; title: string; status?: string; relations?: Array<{ kind: string; id: string; title?: string; }>; retrievalAnchor?: Record; } | null; } export interface TopicCommitmentInput { topicId?: string; goal?: string; decision?: string; unresolvedQuestion?: string; resolvedQuestion?: string; } export declare class TalkTopicLifecycle { private readonly repository; private readonly now; constructor(repository: TalkTopicRepository, now?: () => number); observe(talkSessionId: string, screen: ScreenTopicObservation): TalkTopic; resolve(talkSessionId: string, reference: string): TopicResolution; remember(talkSessionId: string, input: TopicCommitmentInput): TalkTopic; private activate; private collect; } //# sourceMappingURL=lifecycle.d.ts.map