import type { AgentInput } from '../types/agent/base.js';
import type { CreateTaskOptions, TaskGateway, TaskHandle } from '../types/agent/gateway.js';
import type { AgentManagerContract } from '../types/agent/manager.js';
import type { AgentTaskContext } from '../types/agent/task.js';
import type { TaskId } from '../types/ids/index.js';
import type { RunEventListener } from '../types/run/events.js';
export declare class LocalTaskGateway implements TaskGateway {
    private agentManager;
    private taskContext;
    private listener;
    private trackedTaskIds;
    private parentInput?;
    private completionListeners;
    constructor(agentManager: AgentManagerContract, taskContext: AgentTaskContext, listener?: RunEventListener, parentInput?: Pick<AgentInput, 'taskStore' | 'runtimeToolOverrides' | 'runtimeContext'>);
    createTask(options: CreateTaskOptions): Promise<TaskHandle>;
    waitForTask(taskId: TaskId): Promise<TaskHandle>;
    continueTask(taskId: TaskId, message: string): Promise<void>;
    cancelTask(taskId: TaskId): void;
    getTask(taskId: TaskId): TaskHandle | undefined;
    listTasks(): TaskHandle[];
    onTaskCompleted(callback: (handle: TaskHandle) => void): () => void;
}
//# sourceMappingURL=local.d.ts.map