export interface PluginTask {
    taskId: string;
    taskDescription: string;
}
/**
 * @deprecated Use the `canDispose(api)` plugin lifecycle hook instead. Plugins should
 * decide whether they can be disposed (e.g. show their own confirmation modal) rather
 * than relying on shell-level busy tasks. This API is kept for backwards compatibility.
 */
export declare abstract class PluginBusyManager {
    abstract addTask(task: PluginTask): void;
    abstract removeTask(taskId: string): void;
    abstract clearAll(): void;
    abstract isBusy(): boolean;
    abstract getTasks(): PluginTask[];
}
/** @deprecated See {@link PluginBusyManager}. */
export declare class PluginBusyManagerImpl implements PluginBusyManager {
    private tasks;
    constructor();
    addTask(task: PluginTask): void;
    removeTask(taskId: string): void;
    isBusy(): boolean;
    clearAll(): void;
    getTasks(): PluginTask[];
}
