export type Task = (...args: any[]) => Promise<any> | any;
export declare class TaskManager {
    private tasks;
    private timeout;
    private overwriteStrategy;
    constructor({ timeout, overwriteStrategy, }?: {
        timeout?: number;
        overwriteStrategy?: 'replace' | 'skip' | 'throw';
    });
    addTask(fn: Task): void;
    loadTasksFromDir(directory: string): Promise<void>;
    runTask(name: string, ...args: any[]): Promise<any>;
    private _registerModule;
}
