import { GsbWorkflowInstance } from '../../models/gsb-workflow.model';
export interface WorkflowStatus {
    id: string;
    name: string;
    status: 'Operational' | 'Degraded' | 'Down';
    lastCheck: Date;
    activeInstances: number;
    errorCount: number;
    performance: {
        avgExecutionTime: number;
        successRate: number;
    };
}
export declare class WorkflowMonitorService {
    private entityService;
    private statusCache;
    private pollInterval;
    private pollTimer?;
    constructor();
    private startPolling;
    private updateAllWorkflowStatuses;
    private calculateStatus;
    private calculateAverage;
    getWorkflowStatus(workflowId: string): Promise<WorkflowStatus | null>;
    getAllWorkflowStatuses(): Promise<WorkflowStatus[]>;
    getOverallWorkflowStatus(): Promise<'Operational' | 'Degraded' | 'Down'>;
    /**
     * Get workflow instances for a specific workflow
     */
    getWorkflowInstances(workflowId: string): Promise<GsbWorkflowInstance[]>;
    destroy(): void;
}
