import { JsonValue } from '../../json';
import { JobDescription, JobHandler } from './api';
export declare namespace strategy {
type JobStrategy = (handler: JobHandler, options?: Partial>) => JobHandler;
/**
* Creates a JobStrategy that serializes every call. This strategy can be mixed between jobs.
*/
function serialize(): JobStrategy;
/**
* Creates a JobStrategy that will always reuse a running job, and restart it if the job ended.
* @param replayMessages Replay ALL messages if a job is reused, otherwise just hook up where it
* is.
*/
function reuse(replayMessages?: boolean): JobStrategy;
/**
* Creates a JobStrategy that will reuse a running job if the argument matches.
* @param replayMessages Replay ALL messages if a job is reused, otherwise just hook up where it
* is.
*/
function memoize(replayMessages?: boolean): JobStrategy;
}