/**
 * Task Toast Manager
 *
 * Manages toast notifications for parallel/background tasks.
 * Provides consolidated view of running and queued tasks.
 *
 * Features:
 * - Real-time task status display
 * - Concurrency info (e.g., "2/5 slots")
 * - New task highlighting
 * - Completion summaries
 */
import type { PluginInput } from "@opencode-ai/plugin";
import type { ConcurrencyController } from "../agents/concurrency.js";
import { type TaskStatus, type TrackedTask, type TaskCompletionInfo } from "../../shared/index.js";
import type { TodoSyncService } from "../sync/todo-sync-service.js";
export type { TaskStatus, TrackedTask, TaskCompletionInfo } from "../../shared/index.js";
type OpencodeClient = PluginInput["client"];
export declare class TaskToastManager {
    private tasks;
    private client;
    private concurrency;
    private todoSync;
    /**
     * Initialize the manager with OpenCode client
     */
    init(client: OpencodeClient, concurrency?: ConcurrencyController): void;
    /**
     * Set concurrency controller (can be set after init)
     */
    setConcurrencyController(concurrency: ConcurrencyController): void;
    /**
     * Set TodoSyncService for TUI status synchronization
     */
    setTodoSync(service: TodoSyncService): void;
    /**
     * Add a new task and show consolidated toast
     */
    addTask(task: {
        id: string;
        description: string;
        agent: string;
        isBackground: boolean;
        parentSessionID?: string;
        sessionID?: string;
        status?: TaskStatus;
    }): void;
    /**
     * Update task status
     */
    updateTask(id: string, status: TaskStatus): void;
    /**
     * Remove a task
     */
    removeTask(id: string): void;
    /**
     * Get all running tasks (newest first)
     */
    getRunningTasks(): TrackedTask[];
    /**
     * Get all queued tasks (oldest first - FIFO)
     */
    getQueuedTasks(): TrackedTask[];
    /**
     * Get tasks by parent session
     */
    getTasksByParent(parentSessionID: string): TrackedTask[];
    /**
     * Format duration since task started
     */
    private formatDuration;
    /**
     * Get concurrency info string (e.g., " [2/5]")
     */
    /**
     * Get concurrency info string (e.g., " [2/5]")
     */
    private getConcurrencyInfo;
    /**
     * Build consolidated task list message
     */
    private buildTaskListMessage;
    /**
     * Show consolidated toast with all running/queued tasks
     */
    private showTaskListToast;
    /**
     * Show task completion toast
     */
    showCompletionToast(info: TaskCompletionInfo): void;
    /**
     * Show all-tasks-complete summary toast
     */
    showAllCompleteToast(parentSessionID: string, completedTasks: TaskCompletionInfo[]): void;
    /**
     * Show Mission Complete toast (Grand Finale)
     */
    showMissionCompleteToast(title?: string, message?: string): void;
    /**
     * Show progress toast (for long-running tasks)
     */
    showProgressToast(taskId: string, progress: {
        current: number;
        total: number;
        message?: string;
    }): void;
    /**
     * Clear all tracked tasks
     */
    clear(): void;
    /**
     * Get task count stats
     */
    getStats(): {
        running: number;
        queued: number;
        total: number;
    };
}
/**
 * Get the global TaskToastManager instance
 */
export declare function getTaskToastManager(): TaskToastManager | null;
/**
 * Initialize the global TaskToastManager
 */
export declare function initTaskToastManager(client: OpencodeClient, concurrency?: ConcurrencyController): TaskToastManager;
