/** * isPhaseUatPassed — SDK predicate answering "is phase N's UAT contract satisfied?" * Implements the isPhaseUatPassed predicate per #3184. */ import { GSDError } from '../errors.js'; import type { QueryHandler } from './utils.js'; export declare const REASON_CODE: Readonly<{ readonly NON_PASS_RESULT: "non_pass_result"; readonly CASE_MISMATCH: "case_mismatch"; readonly HUMAN_VERIFICATION_NEEDED: "human_verification_needed"; readonly ORPHAN_ITEM_MISSING_RESULT: "orphan_item_missing_result"; readonly BRACKETED_PLACEHOLDER: "bracketed_placeholder"; readonly NO_ITEMS_EXTRACTED: "no_items_extracted"; readonly NO_PHASE_DIR: "no_phase_dir"; readonly NO_UAT_FILES: "no_uat_files"; }>; export type ReasonCode = typeof REASON_CODE[keyof typeof REASON_CODE]; export declare const ERROR_CODE: Readonly<{ readonly PROJECT_DIR_MISSING: "project_dir_missing"; readonly INVALID_PHASE_NUM: "invalid_phase_num"; }>; export type ErrorCode = typeof ERROR_CODE[keyof typeof ERROR_CODE]; export declare class PhaseUatPassedError extends GSDError { readonly code: ErrorCode; constructor(message: string, code: ErrorCode); } export type UatReason = { code: ReasonCode; file?: string; itemName?: string; capturedValue?: string; }; export declare function isPhaseUatPassed(projectDir: string, phase: string, workstream?: string): Promise<{ passed: boolean; reasons: UatReason[]; reasonsHuman: string[]; items: Record[]; }>; /** * QueryHandler adapter for `phase.uat-passed` registry entry. * * args[0] — phase token (required, e.g. '5' or '05-walking-skeleton'). * Matches the args convention used by phase.list-plans / phase.list-artifacts. */ export declare const phaseUatPassed: QueryHandler; //# sourceMappingURL=phase-uat-passed.d.ts.map