// Type definitions for rethinkdb-job-queue
// Project: https://github.com/grantcarthew/node-rethinkdb-job-queue
import { EventEmitter } from 'events';
interface PredicateFunction
{
(job: P): boolean;
}
declare class Queue
extends EventEmitter {
public readonly name: string;
public readonly id: string;
public readonly host: string;
public readonly port: number;
public readonly db: string;
public readonly r: any; // Actually RethinkDbDash handle
public readonly changeFeed: boolean;
public readonly master: boolean;
public readonly masterInterval: boolean | number;
public jobOptions: Queue.JobOptions;
public readonly removeFinishedJobs: boolean | number;
public readonly running: number;
public concurrency: number;
public readonly paused: boolean;
public readonly idle: boolean;
constructor(cxOptions?: Queue.ConnectionOptions, qOptions?: Queue.QueueOptions);
public addJob(job: P | P[]): Promise
;
public cancelJob(job: string | P | P[]): Promise;
public containsJobByName(name: string, raw?: boolean): Promise;
public createJob(jobData?: object): P;
public drop(): Promise;
public findJob(predicate: Object | PredicateFunction
, raw?: boolean): Promise
;
public findJobByName(name: string, raw?: boolean): Promise
;
public getJob(job: string | P | P[]): Promise
;
public pause(global: boolean): Promise;
public process(handler: Queue.ProcessCallback
): Promise;
public ready(): Promise;
public reanimateJob(job: string | P | P[], dateEnable?: Date): Promise;
public removeJob(job: string | P | P[]): Promise;
public reset(): Promise;
public resume(global: boolean): Promise;
public review(): Promise