import { Phase } from '../entities'; import { IPhaseGates, GateResult as IGateResult } from '../interfaces'; import { WorkflowDefinition } from '../ports/workflow-definition.port'; export declare class WorkflowEngine implements IPhaseGates { private readonly workflow; constructor(workflow: WorkflowDefinition); getPhase(value: string): Phase | undefined; getAllPhases(): Phase[]; canTransition(from: string, to: string): boolean; getNextPhase(current: string): Phase | undefined; getPreviousPhase(current: string): Phase | undefined; validate(_phase: string, _cwd: string): Promise; getPhaseLabel(phaseValue: string): string; getPhaseDescription(phaseValue: string): string; isValidPhase(value: string): boolean; getPhaseIndex(value: string): number; } export declare class ToolSelectionService { private readonly defaultToolsByPhase; getDefaultTools(phase: string): string[]; validateSelection(phase: string, tools: string[]): { valid: boolean; errors: string[]; }; private isValidToolForPhase; filterByConvention(tools: string[]): string[]; expandAllTools(allTag: string, phase: string): string[]; } export declare class PhaseService extends WorkflowEngine { constructor(); } export declare class PlatformDetectionService { private readonly checks; registerCheck(tool: string, checkFn: () => Promise): void; isAvailable(tool: string): Promise; detectAll(tools: string[]): Promise>; }