import type { TerminalControlManager, TerminalDashboardActor } from './terminal-control.js'; export type TerminalControlAction = 'takeover' | 'release'; export type TerminalControlRouteMatch = { ok: true; sessionId: string; action?: TerminalControlAction; } | { ok: false; error: 'invalid_session_id'; }; /** 认出这条路由并解出 session id;不是这条路由返回 null。 */ export declare function matchTerminalControlRoute(pathname: string): TerminalControlRouteMatch | null; export interface TerminalControlRouteResponse { status: number; body: Record; } /** * 查询参数里的两个 acquisition 位: * `acq` takeover 带来的、客户端在 POST **之前**就生成好的本次接管 id; * `expect` release 的 CAS 条件:只还「这一次」,别人后来接管过就拒。 * * 两个都是不透明等值串,不是凭证:服务端只做等值比较,权限判定全在 identity 上。 */ export declare function resolveTerminalControlAction(params: { method: string; action?: TerminalControlAction; sessionId: string; search: URLSearchParams; identity: TerminalDashboardActor; control: TerminalControlManager; }): TerminalControlRouteResponse; //# sourceMappingURL=terminal-control-route.d.ts.map