import { ListrTaskWrapper, ListrTask, ListrContext } from "listr";
export declare class TaskService {
    get listOptions(): {
        collapse: boolean;
        renderer: any;
    };
    createTask<T>(title: string, task: (t: any, ctx: any) => Promise<T>): ListrTask;
    runTasks(tasks: ListrTask[]): Promise<any>;
    runTask(title: string, mainTask: (ctx: ListrContext, task: ListrTaskWrapper) => Promise<ListrTask<any>[] | void> | ListrTask<any>[]): Promise<any>;
    createTaskSet(title: string, mainTask: (ctx: ListrContext, task: ListrTaskWrapper) => Promise<ListrTask<any>[] | void> | ListrTask<any>[]): ListrTask;
    createSubTasksFromCollection<T>(collection: Array<T>, itemNameFunc: (item: T) => string, itemSkipFunc: (item: T) => boolean, itemTask: (ctx: ListrContext, task: ListrTaskWrapper, item: T) => Promise<any>): ListrTask[];
}
