import type { AgentExecutionRefs } from "./transport.js";
export interface HookInvokePayload extends AgentExecutionRefs {
    sessionId: string;
    turnId?: string;
    hookPoint: string;
    context: Record<string, unknown>;
    correlationId: string;
    timeoutMs?: number;
}
export interface HookInvokeMsg {
    type: "hook.invoke";
    id: string;
    payload: HookInvokePayload;
}
export type HookResponseAction = "continue" | "abort" | "skip";
export interface HookResponsePayload {
    correlationId: string;
    action: HookResponseAction;
    context?: Record<string, unknown>;
    reason?: string;
}
export interface HookResponseMsg {
    type: "hook.response";
    id: string;
    payload: HookResponsePayload;
}
export interface HookNotifyPayload extends AgentExecutionRefs {
    sessionId: string;
    turnId?: string;
    hookPoint: string;
    context: Record<string, unknown>;
}
export interface HookNotifyMsg {
    type: "hook.notify";
    id: string;
    payload: HookNotifyPayload;
}
