import { ImaPluginConfig } from '../types';
export type BatchedCallback = () => Promise<void> | void;
export type BatchEventName = 'add' | 'addDir' | 'change' | 'unlink' | 'unlinkDir';
/**
 * Clean output directories
 */
export declare function cleanOutput(config: ImaPluginConfig, cwd?: string): Promise<void[]>;
/**
 * Run processor over each defined output directory
 */
export declare function processOutput(config: ImaPluginConfig, outputProcessor: (outputPath: string) => Promise<void>, cwd?: string): Promise<void[]>;
export declare function createBatcher(title: string, timeout?: number): (fn: BatchedCallback, eventName: BatchEventName) => void;
