export * from './blueprint'; import { Runtime, MonorepoOption, ArchitecturePattern, GateCheck } from '../interfaces'; export declare class Phase { readonly value: string; readonly label: string; readonly description: string; readonly gateChecks: GateCheck[]; readonly artifacts: string[]; readonly order: number; constructor(value: string, label: string, description: string, gateChecks: GateCheck[], artifacts: string[], order: number); canTransitionTo(other: Phase): boolean; static fromValue(value: string, phases: Phase[]): Phase | undefined; static readonly ORDER: Record; } export declare class Project { readonly id: string; phase: string; readonly createdAt: Date; config: ProjectConfigData; constructor(name: string, runtime: Runtime, monorepo: MonorepoOption, architecture: ArchitecturePattern, phase?: string); private generateId; transitionTo(phase: string): void; setConfig(key: keyof ProjectConfigData, value: unknown): void; getConfig(): Readonly; isPhase(phase: string): boolean; } export interface ProjectConfigData { name: string; runtimeId: string; monorepoId: string; architectureId: string; database: string; apiProtocol: string; ciCd: string; observability: string; tools: string[]; agents: string[]; } export declare class Tool { readonly id: string; readonly name: string; readonly category: string; readonly phase: string; readonly isRuntimeAware: boolean; readonly commands: string[]; readonly platformCheck?: string | undefined; constructor(id: string, name: string, category: string, phase: string, isRuntimeAware: boolean, commands: string[], platformCheck?: string | undefined); requiresPlatformCheck(): boolean; } export declare class TransitionResult { readonly success: boolean; readonly fromPhase: string; readonly toPhase: string; readonly gateResults: GateResult[]; readonly executedTools: string[]; readonly warnings: string[]; readonly errors: string[]; constructor(success: boolean, fromPhase: string, toPhase: string, gateResults: GateResult[], executedTools: string[], warnings: string[], errors: string[]); static success(from: string, to: string, gates: GateResult[], tools: string[]): TransitionResult; static failure(from: string, to: string, gates: GateResult[], errors: string[]): TransitionResult; hasBlockingErrors(): boolean; hasRequiredGateFailures(): boolean; } import { GateResult } from './gate-result'; export { GateResult };