import type { HooksConfig, AbortReason, EnvPolicy, TagmaRuntime } from './types'; import type { Logger } from './logger'; type HookEvent = 'pipeline_start' | 'task_start' | 'task_success' | 'task_failure' | 'pipeline_complete' | 'pipeline_error'; export interface HookResult { readonly allowed: boolean; readonly exitCode: number; } export declare const DEFAULT_HOOK_TIMEOUT_MS: number; export declare function executeHook(hooks: HooksConfig | undefined, event: HookEvent, context: unknown, runtime: TagmaRuntime, workDir?: string, signal?: AbortSignal, log?: Logger, envPolicy?: EnvPolicy, timeoutMs?: number): Promise; export interface PipelineInfo { readonly name: string; readonly run_id: string; readonly started_at: string; readonly finished_at?: string; readonly duration_ms?: number; } export interface TrackInfo { readonly id: string; readonly name: string; } export interface TaskInfo { readonly id: string; readonly name: string; readonly type: 'ai' | 'command'; readonly status: string; readonly exit_code: number | null; readonly duration_ms: number | null; readonly stderr_path: string | null; readonly session_id: string | null; readonly started_at: string | null; readonly finished_at: string | null; } export declare function buildPipelineStartContext(pipeline: PipelineInfo): { event: string; pipeline: PipelineInfo; }; export declare function buildTaskContext(event: 'task_start' | 'task_success' | 'task_failure', pipeline: PipelineInfo, track: TrackInfo, task: TaskInfo): { event: "task_start" | "task_success" | "task_failure"; pipeline: PipelineInfo; track: TrackInfo; task: TaskInfo; }; export declare function buildPipelineCompleteContext(pipeline: PipelineInfo & { finished_at: string; duration_ms: number; }, summary: { total: number; success: number; failed: number; skipped: number; timeout: number; blocked: number; }): { event: string; pipeline: PipelineInfo & { finished_at: string; duration_ms: number; }; summary: { total: number; success: number; failed: number; skipped: number; timeout: number; blocked: number; }; }; export declare function buildPipelineErrorContext(pipeline: PipelineInfo, error: string, eventType?: string, abortReason?: AbortReason): { abort_reason?: AbortReason | undefined; event: string; pipeline: PipelineInfo; error: string; }; export {}; //# sourceMappingURL=hooks.d.ts.map