import { type Job } from 'bullmq';
import { type RedisConfig } from './connection';
export type JobStatus = 'completed' | 'failed';
export type JobSummary = {
    id: string | undefined;
    name: string;
    data: unknown;
    attempts: number;
    status?: string;
    failedReason?: string;
    timestamp: number;
    processedOn?: number;
    finishedOn?: number;
};
export type Metrics = {
    recordJob(queue: string, status: JobStatus, job: Job, error?: Error): Promise<void>;
    getStats(queue: string, minutes?: number): Promise<Array<{
        time: string;
        completed: number;
        failed: number;
    }>>;
    getRecentJobs(queue: string): Promise<JobSummary[]>;
    getFailedJobs(queue: string): Promise<JobSummary[]>;
    close: () => Promise<void>;
};
export declare const createMetrics: (config: RedisConfig) => Metrics;
//# sourceMappingURL=metrics.d.ts.map