import type { Mutator } from './types/outputs/Mutator.js';
/**
* Builds a {@link Mutator} object around fn. If "mutate" is called while a previous mutation is still running,
* two cases will be handled :
* 1. the second call uses the same `arg` => the call is deduplicated and will subscribe to the running call results.
* 2. the second call uses another `arg` => the previous call will be canceled in favor of the new one
*
* @param fn
*
* @since 1.0.0
*/
export declare function mutable$(fn: MutableCallback): Mutator;
export type MutableCallback = (arg: A, signal: AbortSignal) => D;