import { BaseAdapter } from '../queueAdapters/base'; import { Status } from '../ui/components/constants'; export declare type JobCleanStatus = 'completed' | 'wait' | 'active' | 'delayed' | 'failed'; export declare type JobStatus = Status; export declare type JobCounts = Record; export interface QueueAdapterOptions { readOnlyMode: boolean; } export declare type BullBoardQueues = Map; export interface QueueJob { opts: { delay?: number | undefined; }; promote(): Promise; remove(): Promise; retry(): Promise; toJSON(): QueueJobJson; } export interface QueueJobJson { id?: string | undefined | number | null; name: string; progress: number | object; attemptsMade: number; finishedOn?: number | null; processedOn?: number | null; timestamp: number; failedReason: string; stacktrace: string[] | null; data: any; returnvalue: any; opts: any; parentKey?: string; } export interface ValidMetrics { total_system_memory: string; redis_version: string; used_memory: string; mem_fragmentation_ratio: string; connected_clients: string; blocked_clients: string; } export interface AppJob { id: QueueJobJson['id']; name: QueueJobJson['name']; timestamp: QueueJobJson['timestamp']; processedOn?: QueueJobJson['processedOn']; finishedOn?: QueueJobJson['finishedOn']; progress: QueueJobJson['progress']; attempts: QueueJobJson['attemptsMade']; failedReason: QueueJobJson['failedReason']; stacktrace: string[]; delay: number | undefined; opts: QueueJobJson['opts']; data: QueueJobJson['data']; returnValue: QueueJobJson['returnvalue']; } export interface AppQueue { name: string; counts: Record; jobs: AppJob[]; readOnlyMode: boolean; } export declare type SelectedStatuses = Record; export interface QueueActions { promoteJob: (queueName: string) => (job: AppJob) => () => Promise; retryJob: (queueName: string) => (job: AppJob) => () => Promise; cleanJob: (queueName: string) => (job: AppJob) => () => Promise; getJobLogs: (queueName: string) => (job: AppJob) => () => Promise; retryAll: (queueName: string) => () => Promise; cleanAllDelayed: (queueName: string) => () => Promise; cleanAllFailed: (queueName: string) => () => Promise; cleanAllCompleted: (queueName: string) => () => Promise; }