import { TextDecoder } from "node:util"; import { type AdapterSessionConfig, type ProviderEvent, type RuntimeStatusActionInfo } from "../adapter/index.js"; import { type RuntimeOutputMetadata } from "../services/session-output.js"; import type { PersistedSession } from "../types.js"; export declare const terminalRouter: import("express-serve-static-core").Router; export interface SdkSessionEntry { agentId: string; workspacePath: string; sessionId: string; config: AdapterSessionConfig; providerId: string; seq: number; runtimeAccessToken?: string; schedulerBaseUrl?: string; currentRuntimeStatus?: string; currentRuntimeActionType?: string; currentRuntimeActionLabel?: string; currentRuntimeActionDetail?: string; currentRuntimeActionInput?: string; cachedCapabilitiesActionDetail?: string; } export declare const sdkSessions: Map; export interface RuntimeStopOptions { statusNotified: boolean; reason: string | undefined; } export type RuntimeContextResetSupport = { supported: true; } | { supported: false; statusCode: number; error: string; }; export declare function resolveRuntimeContextResetSupport(providerId: string, hasResetContext: boolean): RuntimeContextResetSupport; export declare function shouldProbeSdkProcessPid(providerId: string): boolean; export declare function parseRuntimeStopOptions(body: unknown): RuntimeStopOptions; export declare function resolveStatusChangeUsage(actionInfo?: RuntimeStatusActionInfo): { inputTokens: number; outputTokens: number; contextLimit?: number; maxOutput?: number; inputLimit?: number; compactionThreshold?: number; cacheHitTokens?: number; cacheMissTokens?: number; } | undefined; export declare function resolveStatusChangeRuntimeState(status: string, actionInfo?: RuntimeStatusActionInfo): { status: string; actionInfo?: RuntimeStatusActionInfo; }; export declare function buildAcodeCommandOutputPath(agentId: string, now?: Date): string; export declare function countTerminalOutputLines(output: string): number; export declare function formatCommandOutputSpilloverNotice(outputPath: string, lineLimit?: number): string; export declare function formatCommandInactivityTimeoutNotice(timeoutMs?: number): string; export declare function normalizeTerminalCommandInput(value: unknown): string; export declare function resolveTerminalOutputEncoding(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): string; interface TerminalOutputDecoder { decode(chunk?: Uint8Array | ArrayBuffer | null, options?: { stream?: boolean; }): string; } export declare function createTerminalOutputDecoder(encoding?: string): TerminalOutputDecoder; export declare function decodeTerminalOutputChunk(decoder: TerminalOutputDecoder | TextDecoder, chunk?: Buffer, end?: boolean): string; export declare function parseTerminalDirectoryChangeTarget(command: string): string | null | undefined; export declare function resolveSdkSessionDisplayStatus(adapterStatus?: string, currentRuntimeStatus?: string, currentRuntimeActionType?: string): string; export interface PersistedSessionReuseDecision { reusable: boolean; reason: "active-pid" | "missing-pid" | "dead-pid" | "in-process-provider"; } export declare function evaluatePersistedSessionReuse(session: Pick & Partial>, isPidRunning?: (pid: number) => boolean): PersistedSessionReuseDecision; export declare function cleanupSdkSessionByAgentId(agentId: string): string | undefined; export declare function formatTerminalPrompt(currentDirectory: string): string; export declare function buildRuntimeEnv(agentId: string, workspacePath: string | undefined, baseEnv: NodeJS.ProcessEnv, envOverrides?: Record): Record; export declare function resolveSdkInputMessage(input: unknown): Promise; export interface ClaudeCodeLaunchConfig { envOverrides: Record; model?: string; } export declare function buildClaudeCodeLaunchConfig(savedClaudeConfig: { env?: Record; } | null | undefined, requestEnvOverrides?: Record): ClaudeCodeLaunchConfig; export declare function buildToolResultTimelineActionInfo(event: ProviderEvent): RuntimeStatusActionInfo | undefined; export declare function formatSdkOutputEvent(event: ProviderEvent): string | undefined; export declare function buildSdkOutputMetadata(event: ProviderEvent): RuntimeOutputMetadata; export declare function resolveRuntimeStatusFromProviderEvent(event: ProviderEvent, currentRuntimeStatus?: string): { status: string; actionInfo?: RuntimeStatusActionInfo; } | undefined; export declare function raceSendOutputWithRetry(factory: (signal: AbortSignal) => Promise, timeoutMs?: number, maxRetries?: number): Promise; export declare function resolveSdkProviderId(command?: string): string; export {};