export interface WorkerConfiguration {
    processorSpec?: string | null;
    activeStatus?: boolean | null;
    [key: string]: string | number | boolean | null | undefined | object;
}
export type WorkerDriver = 'database' | 'redis' | 'memory';
export type WorkerStatus = 'running' | 'stopped' | 'error' | 'paused';
export type WorkerSortBy = 'name' | 'status' | 'driver' | 'health' | 'version' | 'processed';
export type WorkerSortOrder = 'asc' | 'desc';
export type WorkerHealthStatus = 'healthy' | 'unhealthy' | 'warning';
export type WorkerHealthCheckStatus = 'pass' | 'fail' | 'warn';
export interface WorkerHealth {
    status: WorkerHealthStatus;
    checks: Array<{
        name: string;
        status: WorkerHealthCheckStatus;
        message?: string;
    }>;
    lastCheck: string;
}
export interface WorkerMetrics {
    processed: number;
    failed: number;
    avgTime: number;
    memory: number;
    cpu: number;
    uptime: number;
    [key: string]: string | number | boolean | null | undefined;
}
export interface WorkerData {
    name: string;
    queueName: string;
    status: WorkerStatus;
    health: WorkerHealth;
    driver: WorkerDriver;
    version: string;
    processed: number;
    avgTime: number;
    memory: number;
    autoStart: boolean;
    activeStatus?: boolean;
    details?: {
        configuration: WorkerConfiguration;
        health: WorkerHealth;
        metrics: WorkerMetrics;
        recentLogs: Array<{
            timestamp: string;
            level: string;
            message: string;
        }>;
    };
}
export interface WorkersListResponse {
    workers: WorkerData[];
    queueData: QueueData;
    pagination: {
        page: number;
        limit: number;
        total: number;
        totalPages: number;
        hasNext: boolean;
        hasPrev: boolean;
    };
    drivers: WorkerDriver[];
}
export interface QueueData {
    driver: WorkerDriver;
    totalQueues: number;
    totalJobs: number;
    processingJobs: number;
    failedJobs: number;
}
export type GetWorkersQuery = {
    page?: number;
    limit?: number;
    sortBy?: WorkerSortBy;
    sortOrder?: WorkerSortOrder;
    status?: WorkerStatus;
    driver?: WorkerDriver;
    search?: string;
    includeDetails?: boolean;
    includeInactive?: boolean;
};
export type WorkersDashboardUiOptions = {
    autoRefresh: boolean;
    refreshIntervalMs: number;
    pageSize: number;
    enableAutoStart: boolean;
    basePath?: string;
};
export type RawWorkerData = {
    name: string;
    status?: WorkerStatus;
    lastError?: string;
    avgTime?: number;
    memory?: number;
    processed?: number;
    version?: string;
    autoStart?: boolean;
    activeStatus?: boolean;
    queueName?: string;
    details?: {
        configuration: WorkerConfiguration;
        health: WorkerHealth;
        metrics: WorkerMetrics;
        recentLogs: Array<{
            timestamp: string;
            level: string;
            message: string;
        }>;
    };
};
export type WorkerDetails = {
    configuration: WorkerConfiguration;
    health: WorkerHealth;
    metrics: WorkerMetrics;
    recentLogs: Array<{
        timestamp: string;
        level: string;
        message: string;
    }>;
};
//# sourceMappingURL=types.d.ts.map