import type * as LlmsProviders from "@cline/llms"; import type { AgentResult } from "@cline/shared"; import type { SubAgentEndContext, SubAgentStartContext } from "../../extensions/tools/team"; import type { HookEventPayload } from "../../hooks"; import { type SessionStatus, type TerminalSessionStatus } from "../../types/common"; import type { SessionPersistenceAdapter, StoredMessageWithMetadata } from "../../types/session"; import type { UpsertSubagentInput } from "../models/session-row"; import type { SessionManifestStore } from "../stores/session-manifest-store"; export declare class TeamChildSessionManager { private readonly adapter; private readonly manifestStore; private readonly toPersistedMessages; private readonly heartbeatLogIntervalMs; private readonly teamTaskSessionsByAgent; private readonly teamTaskLastHeartbeatBySession; private readonly teamTaskLastProgressLineBySession; constructor(adapter: SessionPersistenceAdapter, manifestStore: SessionManifestStore, toPersistedMessages: (messages: LlmsProviders.Message[] | undefined, result?: AgentResult, previousMessages?: LlmsProviders.Message[]) => StoredMessageWithMetadata[] | undefined, heartbeatLogIntervalMs: number); private teamTaskQueueKey; private activeTeamTaskSessionId; private buildSubsessionRow; queueSpawnRequest(event: HookEventPayload): Promise; upsertSubagentSession(input: UpsertSubagentInput): Promise; upsertSubagentSessionFromHook(event: HookEventPayload): Promise; applySubagentStatus(subSessionId: string, event: HookEventPayload): Promise; applySubagentStatusBySessionId(subSessionId: string, status: SessionStatus): Promise; applyStatusToRunningChildSessions(parentSessionId: string, status: TerminalSessionStatus): Promise; onTeamTaskStart(rootSessionId: string, agentId: string, message: string): Promise; onTeamTaskEnd(rootSessionId: string, agentId: string, status: SessionStatus, _summary?: string, result?: AgentResult, messages?: LlmsProviders.Message[]): Promise; onTeamTaskProgress(rootSessionId: string, agentId: string, progress: string, options?: { kind?: "heartbeat" | "progress" | "text"; }): Promise; handleSubAgentStart(rootSessionId: string, context: SubAgentStartContext): Promise; handleSubAgentEnd(rootSessionId: string, context: SubAgentEndContext): Promise; appendSubagentHookAudit(event: HookEventPayload): void; }