/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.dev/license
*/
import { JsonValue } from '@angular-devkit/core';
import { JobDescription, JobHandler } from './api';
export type JobStrategy = (handler: JobHandler, options?: Partial>) => JobHandler;
/**
* Creates a JobStrategy that serializes every call. This strategy can be mixed between jobs.
*/
export declare 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.
*/
export declare 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.
*/
export declare function memoize(replayMessages?: boolean): JobStrategy;