import type { AgentResult, ITelemetryService } from "@cline/shared"; import type { HookEventPayload } from "../../hooks"; import type { RuntimeCapabilities } from "../../runtime/capabilities"; import type { PendingPromptsServiceApi, RestoreSessionInput, RestoreSessionResult, RuntimeHost, RuntimeHostSubscribeOptions, SendSessionInput, SessionConnectionUpdate, SessionUsageSummary, StartSessionInput, StartSessionResult } from "../../runtime/host/runtime-host"; import { type SessionCompactionState } from "../../session/models/session-compaction"; import type { CoreSettingsListInput, CoreSettingsMutationResult, CoreSettingsSnapshot, CoreSettingsToggleInput } from "../../settings"; import type { CoreSessionEvent } from "../../types/events"; import type { SessionRecord } from "../../types/sessions"; export interface HubRuntimeHostOptions { url: string; authToken?: string; clientType?: string; displayName?: string; capabilities?: RuntimeCapabilities; telemetry?: ITelemetryService; } export declare class HubRuntimeHost implements RuntimeHost { runtimeAddress: string; readonly pendingPrompts: PendingPromptsServiceApi; private client; private readonly clientOptions; private readonly clientContext?; private readonly events; private readonly sessionCapabilities; private readonly sessionClientContributionHandlers; private readonly sessionSubscriptions; private readonly pendingApprovalToolCallIds; private readonly agentDoneEmittedForCurrentRunBySession; private readonly activeCapabilityAbortControllers; private readonly defaultCapabilities; private readonly telemetry?; constructor(options: HubRuntimeHostOptions, clientContext?: { workspaceRoot?: string; cwd?: string; }); private createClient; private replaceClient; private recoverLocalHubStartupDeadlock; private registerPlannedSession; private cleanupPlannedSession; connect(): Promise; startSession(input: StartSessionInput): Promise; restoreSession(input: RestoreSessionInput): Promise; runTurn(input: SendSessionInput): Promise; private requestPendingPromptsList; private requestPendingPromptUpdate; private requestPendingPromptDelete; getAccumulatedUsage(sessionId: string): Promise; abort(sessionId: string, reason?: unknown): Promise; stopSession(sessionId: string): Promise; dispose(): Promise; getSession(sessionId: string): Promise; listSessions(limit?: number): Promise; listSettings(input?: CoreSettingsListInput): Promise; toggleSetting(input: CoreSettingsToggleInput): Promise; deleteSession(sessionId: string): Promise; updateSession(sessionId: string, updates: { prompt?: string | null; metadata?: Record | null; title?: string | null; }): Promise<{ updated: boolean; }>; updateSessionConnection(sessionId: string, updates: SessionConnectionUpdate): Promise; updateSessionCompactionState(sessionId: string, state: SessionCompactionState): Promise<{ updated: boolean; }>; readSessionCompactionState(sessionId: string): Promise; readSessionMessages(sessionId: string): Promise; dispatchHookEvent(_payload: HookEventPayload): Promise; subscribe(listener: (event: CoreSessionEvent) => void, options?: RuntimeHostSubscribeOptions): () => void; private ensureSessionSubscription; private disposeSessionSubscription; private resolveCapabilities; private emitToolCallContentStart; private emitAgentDoneIfNeeded; private handleHubEvent; private captureDetachedHubEventError; private handleCapabilityRequest; private handleCapabilityResolved; private handleApprovalRequested; }