import { TaskList, TaskNodeType } from './task-list.js';
import { Listr, ListrBaseClassOptions, ListrGetRendererClassFromValue, ListrPrimaryRendererValue, ListrRendererValue, ListrSecondaryRendererValue, ListrTask, ListrTaskObject } from 'listr2';
import { OneShotSingleDeployContext } from '../../commands/one-shot/one-shot-single-deploy-context.js';
import { AnyListrContext } from '../../types/aliases.js';
import { OneShotSingleDestroyContext } from '../../commands/one-shot/one-shot-single-destroy-context.js';
import { type SoloLogger } from '../logging/solo-logger.js';
export declare class DefaultTaskList<ListrContext, Renderer extends ListrRendererValue = ListrPrimaryRendererValue, FallbackRenderer extends ListrRendererValue = ListrSecondaryRendererValue> implements TaskList<ListrContext, Renderer, FallbackRenderer> {
    private readonly logger;
    constructor(logger: SoloLogger);
    newOneShotSingleDeployTaskList(task: ListrTask<OneShotSingleDeployContext, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>> | ListrTask<OneShotSingleDeployContext, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>>[], options?: ListrBaseClassOptions<OneShotSingleDeployContext, Renderer, FallbackRenderer>, parentTask?: ListrTaskObject<OneShotSingleDeployContext, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>>): Listr<OneShotSingleDeployContext, Renderer, FallbackRenderer>;
    newOneShotSingleDestroyTaskList(task: ListrTask<OneShotSingleDestroyContext, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>> | ListrTask<OneShotSingleDestroyContext, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>>[], options?: ListrBaseClassOptions<OneShotSingleDestroyContext, Renderer, FallbackRenderer>, parentTask?: ListrTaskObject<OneShotSingleDestroyContext, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>>): Listr<OneShotSingleDestroyContext, Renderer, FallbackRenderer>;
    parentTaskListMap: Map<string, TaskNodeType[]>;
    newTaskList<T = AnyListrContext>(task: ListrTask<T, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>> | ListrTask<T, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>>[], options?: ListrBaseClassOptions<T, Renderer, FallbackRenderer>, parentTask?: ListrTaskObject<T, ListrGetRendererClassFromValue<Renderer>, ListrGetRendererClassFromValue<FallbackRenderer>>, commandName?: string): Listr<T, Renderer, FallbackRenderer>;
    private trailingCloseFunctions;
    registerCloseFunction(trailingCloseFunction: () => Promise<void>): void;
    callCloseFunctions(): Promise<void>;
}
