export declare const GATE_PHASES: readonly ["discovery", "design", "construction", "qa", "release"]; export type GatePhase = (typeof GATE_PHASES)[number]; export declare const GATE_VERDICTS: readonly ["passed", "failed", "skipped"]; export type GateVerdict = (typeof GATE_VERDICTS)[number]; export declare const VIOLATION_SEVERITIES: readonly ["error", "warning"]; export type ViolationSeverity = (typeof VIOLATION_SEVERITIES)[number]; export declare const EVALUATOR_KINDS: readonly ["human", "agent", "ci"]; export type EvaluatorKind = (typeof EVALUATOR_KINDS)[number]; export declare const ERROR_CODES: readonly ["GATE_BLOCKED", "VALIDATION_FAILED", "RULESET_NOT_FOUND", "SCHEMA_INVALID", "INVALID_PHASE", "NOT_A_SATELLITE", "IO_ERROR", "INTERNAL_ERROR"]; export type ErrorCode = (typeof ERROR_CODES)[number]; export interface GateViolation { readonly ruleId: string; readonly severity: ViolationSeverity; readonly location: string; readonly message: string; } export interface GateEvidence { readonly gateId: string; readonly phase: GatePhase; readonly verdict: GateVerdict; readonly rulesetRef: string; readonly rulesetVersion: string; readonly violations: readonly GateViolation[]; readonly evaluatedAt: string; readonly evaluatedBy: EvaluatorKind; } export interface PhaseTransitionProposal { readonly fromPhase: GatePhase; readonly toPhase: GatePhase; readonly evidence: GateEvidence; readonly isRecommended: boolean; readonly proposedAt: string; } export interface ExecutionContext { readonly initiative?: string; readonly tenant?: string; readonly phase?: string; } export declare const OUTPUT_ENVELOPE_SCHEMA_VERSION = "1.0.0"; export interface OutputMeta { readonly command: string; readonly executedAt: string; readonly durationMs: number; readonly correlationId: string; readonly schemaVersion: string; readonly context?: ExecutionContext; } export interface OutputError { readonly code: ErrorCode; readonly message: string; readonly details?: Record; } export interface SuccessEnvelope { readonly success: true; readonly data: T; readonly meta: OutputMeta; } export interface ErrorEnvelope { readonly success: false; readonly error: OutputError; readonly meta: OutputMeta; } export type OutputEnvelope = SuccessEnvelope | ErrorEnvelope; export interface EnvelopeClock { readonly executedAt: string; elapsedMs(): number; } export declare function startEnvelopeClock(): EnvelopeClock; export declare function elapsedMsSince(startedAtEpochMs: number): number; export declare function measuredMeta(clock: EnvelopeClock, fields: Omit & { readonly schemaVersion?: string; }): OutputMeta; export declare function createSuccessEnvelope(data: T, meta: OutputMeta): SuccessEnvelope; export declare function createErrorEnvelope(code: ErrorCode, message: string, meta: OutputMeta, details?: Record): ErrorEnvelope; export declare function deriveVerdict(violations: readonly GateViolation[]): Exclude; export declare function isGatePhase(value: string): value is GatePhase; export declare function isErrorCode(value: string): value is ErrorCode; export { Verdict, fromLegacyGateEvidence, fromLegacyGateDecision, toLegacyGateEvidence, makeVerdictRecord, isVerdict, } from './verdict/verdict'; export type { VerdictReason, VerdictRecord } from './verdict/verdict';