/**
 * 终端 API 路由
 *
 * 提供 SDK Agent 会话的启动、输入、调整大小和停止功能
 * 终端 UI 仅作为 SDK Agent 的消息输入/状态输出载体
 */
import { TextDecoder } from 'node:util';
import { type AdapterSessionConfig, type ProviderEvent } from '../adapter/index.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;
}
export declare const sdkSessions: Map<string, SdkSessionEntry>;
/**
 * 标准化终端输入：将前端回车符还原为 shell 可执行命令文本。
 */
export declare function normalizeTerminalCommandInput(value: unknown): string;
/**
 * 解析终端命令输出解码编码。
 * 主流程：优先使用环境变量覆盖 -> Windows 默认 GB18030 -> 其他平台默认 UTF-8。
 */
export declare function resolveTerminalOutputEncoding(platform?: NodeJS.Platform, env?: NodeJS.ProcessEnv): string;
/**
 * 创建终端输出流式解码器，避免多字节中文被 chunk 边界截断。
 */
export declare function createTerminalOutputDecoder(encoding?: string): TextDecoder;
/**
 * 解码终端输出 chunk；end=true 时刷新解码器内部剩余字节。
 */
export declare function decodeTerminalOutputChunk(decoder: TextDecoder, chunk?: Buffer, end?: boolean): string;
/**
 * 解析 cd 命令目标；返回 undefined 表示不是目录切换命令，null 表示仅查看当前目录。
 */
export declare function parseTerminalDirectoryChangeTarget(command: string): string | null | undefined;
/**
 * 生成显示在终端输出流中的工作目录提示符。
 */
export declare function formatTerminalPrompt(currentDirectory: string): string;
export declare function buildRuntimeEnv(agentId: string, workspacePath: string | undefined, baseEnv: NodeJS.ProcessEnv, envOverrides?: Record<string, unknown>): Record<string, string>;
export declare function formatSdkOutputEvent(event: ProviderEvent): string | undefined;
export declare function resolveSdkProviderId(command?: string): string;
//# sourceMappingURL=terminal.d.ts.map