import type { Readable } from 'node:stream'; import { type CodexTurnContext } from './codex-context.js'; import { type ResolvedCodexNotifierConfig } from './config.js'; import { enqueueCodexNotifierEvent } from './outbox.js'; import { type ScreenLockState } from './screen-lock.js'; import { confirmCodexNotifierTurn, readConfirmedCodexNotifierTurn, removeConfirmedCodexNotifierTurn } from './confirmed-turn.js'; export type CodexNotifierHookOutcome = 'enqueued' | 'disabled' | 'misconfigured' | 'managed' | 'tracked' | 'subagent' | 'internal' | 'unsupported' | 'screen_unlocked' | 'platform_unsupported'; export interface CodexNotifierHookDeps { env?: NodeJS.ProcessEnv; dataDir?: string; config?: ResolvedCodexNotifierConfig; lockState?: ScreenLockState; readContext?: (transcriptPath: unknown, turnId: unknown, sessionId: unknown) => CodexTurnContext; enqueue?: typeof enqueueCodexNotifierEvent; confirmTurn?: typeof confirmCodexNotifierTurn; readConfirmedTurn?: typeof readConfirmedCodexNotifierTurn; removeConfirmedTurn?: typeof removeConfirmedCodexNotifierTurn; } /** 处理一个 Codex 通知 Hook payload;所有跳过原因都显式返回,便于 Dashboard/测试诊断。 */ export declare function processCodexNotifierHookPayload(payload: Record, deps?: CodexNotifierHookDeps): CodexNotifierHookOutcome; /** CLI Hook 不得阻塞 Codex 流程;失败只在 DEBUG 下输出诊断并返回。 */ export declare function runCodexNotifierHookCli(stream?: Readable, deps?: CodexNotifierHookDeps): Promise; //# sourceMappingURL=hook-cli.d.ts.map