import { ConfigManager } from '../../config/config-manager.js';
import { ProcessDefinition, ProcessExecution, ProcessTemplate } from './types.js';
import { FileSystemAdapter } from './file-system-adapter.js';
export declare class ProcessStore {
    private dataPath;
    private configManager;
    private processCache;
    private executionCache;
    private fs;
    constructor(configManager: ConfigManager, fs?: FileSystemAdapter);
    init(): Promise<void>;
    saveProcess(process: ProcessDefinition): Promise<void>;
    getProcess(processId: string): Promise<ProcessDefinition | null>;
    getAllProcesses(filters?: {
        persona?: string;
        hasEnabledTriggers?: boolean;
    }): Promise<ProcessDefinition[]>;
    deleteProcess(processId: string): Promise<void>;
    saveExecution(execution: ProcessExecution): Promise<void>;
    getExecution(processId: string, executionId: string): Promise<ProcessExecution | null>;
    getExecutionsForProcess(processId: string): Promise<ProcessExecution[]>;
    getRecentExecutions(limit?: number): Promise<ProcessExecution[]>;
    saveTemplate(template: ProcessTemplate): Promise<void>;
    getTemplate(templateId: string): Promise<ProcessTemplate | null>;
    getTemplatesByPersona(persona: string): Promise<ProcessTemplate[]>;
    getProcessMetrics(processId: string): Promise<ProcessMetrics>;
    getProcessExecutions(processId: string, options?: {
        status?: string;
        limit?: number;
    }): Promise<ProcessExecution[]>;
    searchProcesses(query: string): Promise<ProcessDefinition[]>;
    getStats(): Promise<{
        totalProcesses: number;
        byPersona: Record<string, number>;
        byTriggerType: Record<string, number>;
        enabledTriggers: number;
        totalTriggers: number;
    }>;
    cleanupOldExecutions(daysToKeep?: number): Promise<number>;
}
interface ProcessMetrics {
    executionCount: number;
    successCount: number;
    failureCount: number;
    successRate: number;
    averageDuration: number;
    lastExecutedAt?: string;
}
export {};
//# sourceMappingURL=process-store.d.ts.map