/** * 実行中のプロセス/チャットを commandId で管理する共通クラス */ export declare class ProcessManager { private readonly running; private readonly pendingCancellations; /** プロセスを管理 Map に登録 */ register(id: string, handle: { cancel: () => void; }): void; /** * プロセスをキャンセルして Map から削除 * @returns true: プロセスが見つかりキャンセルした, false: プロセスが見つからなかった */ cancel(id: string): boolean; /** 未登録なら予約し、プロセス登録直後にキャンセルする。 */ cancelWhenRegistered(id: string): boolean; /** プロセスを Map から削除(キャンセルせずに完了時の削除用) */ remove(id: string): void; /** テスト用: running Map の内容を取得 */ _getRunning(): Map void; }>; } /** シングルトンの ProcessManager インスタンスを取得 */ export declare function getProcessManager(): ProcessManager; /** * 実行中のプロセス/チャットをキャンセルする(統一インターフェース) * * chat-executor と api-chat-executor の両方が同じシングルトン ProcessManager を * 共有しているため、この関数1つで全てのプロセスをキャンセルできる。 * * @returns true: プロセスが見つかりキャンセルした, false: プロセスが見つからなかった */ export declare function cancelProcess(commandId: string): boolean; export declare function cancelProcessWhenRegistered(commandId: string): boolean; /** * テスト用: シングルトン ProcessManager の running Map の内容を取得 */ export declare function _getRunningProcesses(): Map void; }>; //# sourceMappingURL=process-manager.d.ts.map