import type { SessionMeta, SessionState } from '../core/types';
export interface ISessionMetaRepository {
    save(sessionMeta: SessionMeta): void;
    findByLabel(label: string): SessionMeta | null;
    findAll(): SessionMeta[];
    delete(label: string): boolean;
    clear(): void;
    exists(label: string): boolean;
    updateState(label: string, state: Partial<SessionState>): void;
    getStates(): Record<string, SessionState>;
    markAsRunning(label: string): void;
    markAsCompleted(label: string, result: any): void;
    markAsFailed(label: string, error: Error): void;
    getByStatus(status: SessionState['status']): SessionMeta[];
    getExecutionSummary(): ExecutionSummary;
}
export interface ExecutionSummary {
    totalSessions: number;
    readySessions: number;
    runningSessions: number;
    completedSessions: number;
    failedSessions: number;
    lastExecutionTime?: Date;
    totalExecutionTime?: number;
}
//# sourceMappingURL=session-meta-repository.d.ts.map