import type { TaskLaunchOptions, TaskClass } from './interfaces/index.js'; /** * Manages the launching of tasks based on scheduled times or infinitely. * Utilizes TaskQueue for handling task executions sequentially and provides * functionality to abort running tasks. */ export declare class TaskLauncher { #private; /** * Indicates whether there are any running tasks. */ get isRunning(): boolean; /** * Returns a list of all tasks managed by the TaskLauncher. */ get tasks(): TaskClass[]; /** * Initializes the TaskLauncher with a set of tasks and an optional error handling function. * @param tasks An array of TaskClass instances. * @param onErrorFn An optional function to handle errors. Defaults to console.error. */ constructor(tasks: TaskClass[], onErrorFn?: (err: any) => void); /** * Executes the tasks based on the provided launch options. * @param options A record of task names to their launch options (infinite or scheduled). * @throws Error if there are already running tasks. */ execute(options: TaskLaunchOptions): Promise; /** * Aborts all currently running tasks. If no tasks are running, resolves immediately. * @returns A promise that resolves when all tasks have been aborted. */ abort(): Promise; }