import type { TaskLaunchOptions } from '../task-launcher/index.js'; import type { WatchOptions } from './watch-options.js'; /** * Manages the configuration for task scheduling and execution. * Supports loading, saving, and watching configuration files for changes. */ export declare class TaskConfig { #private; /** * Gets the file path of the configuration. */ get path(): string; /** * Determines if the configuration file is being watched for changes. * @returns True if the configuration file is being watched; otherwise, false. */ isWatching(): boolean; /** * Initializes a new instance of the TaskConfig class. * @param path The file path for the task configuration. */ constructor(path: string); /** * Checks if the configuration file exists. * @returns A promise that resolves to true if the file exists; otherwise, false. */ exists(): Promise; /** * Loads the task configuration from the file. * @returns A promise that resolves to the loaded task launch options. * @throws Error if the file is invalid or cannot be parsed. */ load(): Promise; /** * Saves the provided task launch options to the configuration file. * @param v The task launch options to save. */ save(v: TaskLaunchOptions): Promise; /** * Generates a default task configuration file with the provided task names. * @param taskNames An array of task names to include in the configuration. */ generate(taskNames: string[]): Promise; /** * Starts watching the configuration file for changes and applies the provided options. * @param options Options for how changes to the configuration file should be handled. */ watch(options: WatchOptions): void; /** * Emits a change event manually for the configuration file watcher. */ emit(): void; /** * Stops watching the configuration file and cleans up resources. */ unwatch(): void; }