import type { ExtensionContext } from '@earendil-works/pi-coding-agent'; import type { CollectionRequest, StateStore } from './types.js'; type Session = Pick; /** Records request boundaries; it neither selects facts nor sends conversation text. */ export declare class CollectionLifecycle { readonly store: StateStore; readonly scope: string | null; constructor(store: StateStore, scope?: string | null); /** Call before the new user entry is appended, never from a message-end hook. */ begin(session: Session, continuationId?: string, signal?: AbortSignal): Promise; /** Only agent_settled may call this: turn_end/agent_end are insufficient. */ settle(id: string, session: Session, waitingForInput?: boolean, signal?: AbortSignal): Promise; } export {};