/**
 * Task Launcher - Handles launching new parallel tasks
 */
import type { PluginInput } from "@opencode-ai/plugin";
import { ConcurrencyController } from "../concurrency.js";
import { TaskStore } from "../task-store.js";
import type { ParallelTask } from "../interfaces/index.js";
import type { LaunchInput } from "../interfaces/launch-input.interface.js";
import { SessionPool } from "../session-pool.js";
type OpencodeClient = PluginInput["client"];
export declare class TaskLauncher {
    private client;
    private directory;
    private store;
    private concurrency;
    private sessionPool;
    private onTaskError;
    private startPolling;
    constructor(client: OpencodeClient, directory: string, store: TaskStore, concurrency: ConcurrencyController, sessionPool: SessionPool, onTaskError: (taskId: string, error: unknown) => void, startPolling: () => void);
    /**
     * Unified launch method - handles both single and multiple tasks efficiently.
     * All session creations happen in parallel immediately.
     * Concurrency acquisition and prompt firing happen in the background.
     */
    launch(inputs: LaunchInput | LaunchInput[]): Promise<ParallelTask | ParallelTask[]>;
    /**
     * Prepare task: Create session and registration without blocking on concurrency
     */
    private prepareTask;
    /**
     * Background execution: Acquire slot and fire prompt with auto-retry
     */
    private executeBackground;
}
export {};
