import type { Config } from "./config.js"; import type { JobPayload } from "./types.js"; export declare class Stats { private readonly config?; constructor(config?: Config); processed(): Promise; failed(): Promise; workersSize(): Promise; scheduledSize(): Promise; retrySize(): Promise; deadSize(): Promise; processesSize(): Promise; enqueued(): Promise; defaultQueueLatency(): Promise; reset(...stats: Array): Promise; queues(): Promise>; } export declare class StatsHistory { private readonly config?; private readonly daysPrevious; private readonly startDate; constructor(daysPrevious: number, startDate?: Date, config?: Config); processed(): Promise>; failed(): Promise>; private dateStat; } export declare class Queue { private readonly config?; readonly name: string; constructor(name?: string, config?: Config); static all(config?: Config): Promise; size(): Promise; clear(): Promise; entries(start?: number, stop?: number): Promise; latency(): Promise; each(pageSize?: number): AsyncGenerator; findJob(jid: string): Promise; } export declare class JobRecord { readonly queue: string; readonly value: string; readonly payload: JobPayload; private readonly config?; constructor(value: string, queue: string, config?: Config); get jid(): string | undefined; delete(): Promise; } declare class SortedSet { protected config?: Config; protected key: string; constructor(key: string, config?: Config); size(): Promise; clear(): Promise; } export declare class SortedEntry { readonly score: number; readonly payload: JobPayload; readonly value: string; private readonly parent; constructor(parent: JobSet, score: number, value: string); get jid(): string | undefined; delete(): Promise; reschedule(at: number): Promise; addToQueue(): Promise; retry(): Promise; kill(): Promise; } declare class JobSet extends SortedSet { entries(start?: number, stop?: number): Promise; scan(match: string, count?: number): AsyncGenerator; each(): AsyncGenerator; findJob(jid: string): Promise; schedule(timestamp: number, payload: JobPayload): Promise; retryAll(): Promise; killAll(): Promise; deleteByValue(value: string): Promise; rescheduleValue(value: string, at: number): Promise; addToQueueValue(value: string): Promise; retryValue(value: string): Promise; killValue(value: string): Promise; private popEach; } export declare class ScheduledSet extends JobSet { constructor(config?: Config); } export declare class RetrySet extends JobSet { constructor(config?: Config); } export declare class DeadSet extends JobSet { constructor(config?: Config); kill(payload: string | JobPayload, options?: { trim?: boolean; }): Promise; trim(): Promise; } export interface ProcessInfoEntry { identity: string; info: Record; busy: number; beat: number; quiet: boolean; rtt_us: number; rss: number; } export declare class ProcessSet { private readonly config?; constructor(config?: Config); static get(identity: string, config?: Config): Promise; entries(): Promise; size(): Promise; totalConcurrency(): Promise; totalRss(): Promise; cleanup(): Promise; } /** * Represents a single Sidekiq process and allows remote signaling. */ export declare class Process { private readonly config?; readonly identity: string; readonly info: Record; readonly busy: number; readonly beat: number; readonly quiet: boolean; readonly rtt_us: number; readonly rss: number; constructor(entry: ProcessInfoEntry, config?: Config); get tag(): string | undefined; get labels(): string[]; get queues(): string[]; get version(): string | undefined; get embedded(): boolean; /** * Whether this process is quiet or shutting down. */ get stopping(): boolean; /** * Signal this process to stop processing new jobs. * It will continue to execute jobs it has already fetched. * This method is asynchronous and it can take 5-10 seconds * for the process to quiet. */ quietProcess(): Promise; /** * Signal this process to shutdown. * It will shutdown within its configured timeout value, default 25 seconds. * This method is asynchronous and it can take 5-10 seconds * for the process to start shutting down. */ stopProcess(): Promise; /** * Signal this process to log its current worker state. * Useful for debugging frozen or deadlocked processes. * This method is asynchronous and it can take 5-10 seconds. */ dumpThreads(): Promise; private signal; } export interface WorkerEntry { process: string; thread: string; queue: string; payload: JobPayload; run_at: number; } export declare class Workers { private readonly config?; constructor(config?: Config); entries(): Promise; } export {}; //# sourceMappingURL=api.d.ts.map