/**
 * Workflow Engine Module
 *
 * Handles workflow creation, execution, and templates
 */
export interface WorkflowSpec {
    app?: string;
    image?: string;
    replicas?: number | string;
    [key: string]: any;
}
export interface WorkflowExecution {
    id: string;
    status: 'pending' | 'running' | 'completed' | 'failed';
    steps: WorkflowStep[];
    error?: string;
}
export interface WorkflowStep {
    name: string;
    status: 'pending' | 'running' | 'completed' | 'failed';
    output?: any;
    error?: string;
}
export interface WorkflowTemplate {
    name: string;
    description: string;
    parameters: TemplateParameter[];
}
export interface TemplateParameter {
    name: string;
    type: string;
    required: boolean;
    description: string;
    default?: any;
}
export interface TemplateParams {
    template: string;
    parameters: Record<string, any>;
}
export interface RollbackResult {
    success: boolean;
    message?: string;
}
export declare class WorkflowEngine {
    private workflows;
    private executions;
    private templates;
    private initialized;
    constructor();
    private initializeTemplates;
    initialize(): Promise<void>;
    createDeploymentWorkflow(spec: WorkflowSpec): Promise<string>;
    private validateSpec;
    execute(workflowId: string): Promise<WorkflowExecution>;
    private executeSteps;
    private generateSteps;
    rollback(executionId: string): Promise<RollbackResult>;
    getAvailableTemplates(): Promise<WorkflowTemplate[]>;
    createFromTemplate(params: TemplateParams): Promise<string>;
    private generateId;
    initializeWorkflow(config: {
        appName: string;
        requirements?: string;
    }): Promise<string>;
    transitionTo(state: string): Promise<string>;
    executePhase(): Promise<any>;
    getCurrentPhase(): string;
    isInitialized(): boolean;
}
//# sourceMappingURL=workflow.d.ts.map