/**
 * Persistent Workflow Storage
 * Stores workflow templates and executions to survive container restarts
 */
export interface WorkflowTemplate {
    templateId: string;
    name: string;
    description: string;
    category: string;
    steps: any[];
    triggers: any[];
    parameters: any[];
    createdAt: string;
    updatedAt: string;
    version: number;
    status: string;
}
export interface WorkflowExecution {
    executionId: string;
    templateId: string;
    status: string;
    startedAt: string;
    completedAt?: string;
    currentStep?: string;
    progress: {
        totalSteps: number;
        completedSteps: number;
        failedSteps: number;
        percentage: number;
    };
    results: Record<string, any>;
    errors: any[];
    actualDuration?: number;
}
export declare class WorkflowStorage {
    private readonly storageDir;
    private readonly templatesFile;
    private readonly executionsFile;
    private readonly logger;
    constructor(storageDir?: string);
    private initializeStorageSync;
    storeTemplate(template: WorkflowTemplate): Promise<void>;
    getTemplate(templateId: string): Promise<WorkflowTemplate | undefined>;
    getAllTemplates(): Promise<Record<string, WorkflowTemplate>>;
    deleteTemplate(templateId: string): Promise<void>;
    private loadTemplates;
    storeExecution(execution: WorkflowExecution): Promise<void>;
    getExecution(executionId: string): Promise<WorkflowExecution | undefined>;
    updateExecution(_executionId: string, execution: WorkflowExecution): Promise<void>;
    private loadExecutions;
    cleanupOldExecutions(maxAge?: number): Promise<void>;
}
//# sourceMappingURL=WorkflowStorage.d.ts.map