import { IFileSystem, ILogger } from '../../domain/interfaces'; export interface GateDefinition { id: string; name: string; phase: string; description: string; requiredArtifacts: GateArtifact[]; blockingCriteria: GateBlockingCriterion[]; accountableRole?: string; waiverAuthority?: string; playbookRef?: string | null; } export interface GateArtifact { artifactId: string; artifact: string; schemaRef?: string; producedBy?: { format: string; note?: string; }; validation: string; rules: string[]; } export interface GateBlockingCriterion { criterion: string; action: string; } export declare class GateRegistryService { private readonly sdlcGatesPath; private readonly fs; private readonly logger; private readonly artifactRegistryPath?; private gates; private registry; constructor(sdlcGatesPath: string, fs: IFileSystem, logger: ILogger, artifactRegistryPath?: string | undefined); private loadRegistry; loadAll(): Promise; getGatesForPhase(phaseId: string): Promise; getGate(gateId: string): Promise; getAllGateIds(): Promise; getOpaRulesForGate(gateId: string): Promise; }