import { EventEmitter } from 'events';
import { AgentConfig, ExecutionResult, Status } from '../types';
import { STMManager } from '../utils/stm-manager';
import { TaskContent } from '../types/stm-types';
import type { Task } from 'simple-task-master';
export declare class AutonomousAgent extends EventEmitter {
    private configManager;
    private stmManager;
    private config;
    private isExecuting;
    private abortController;
    private hookManager;
    private sessionManager;
    private currentSession;
    constructor(config?: AgentConfig);
    initialize(): Promise<void>;
    executeTask(taskId: string): Promise<ExecutionResult>;
    createTask(title: string, content: TaskContent): Promise<string>;
    listTasks(status?: string): Promise<Array<{
        id: string;
        title: string;
        status: string;
    }>>;
    getTask(taskId: string): Promise<Task | null>;
    updateTaskStatus(taskId: string, status: string): Promise<void>;
    searchTasks(query: string): Promise<Array<{
        id: string;
        title: string;
        status: string;
    }>>;
    getStatus(): Promise<Status>;
    private buildTaskContext;
    private getProvider;
    private handleInterrupt;
    getSTMManager(): STMManager;
}
