import type { TrellisKernel } from '../kernel/trellis-kernel.js';
import type { DAGRunStep } from './dag-scheduler.js';
export type GateType = 'test' | 'manual' | 'ac_check' | 'semantic_diff';
export type GateFailAction = 'stop' | 'retry' | 'route_to';
export interface DAGGate {
    type: GateType;
    criteria?: string;
    onFail: GateFailAction;
    retryStepId?: string;
    failRouteEdgeId?: string;
}
export interface GateResult {
    passed: boolean;
    message: string;
    action: 'continue' | 'stop' | 'retry' | 'route_to';
    retryStepId?: string;
    failRouteEdgeId?: string;
}
export declare function evaluateGate(gate: DAGGate, step: DAGRunStep, kernel?: TrellisKernel): Promise<GateResult>;
//# sourceMappingURL=gate-keeper.d.ts.map