/**
 * @fileoverview
 * Task State Manager for handling multi-step task logic.
 * Replaces complex string matching with clear state transitions.
 */
import { TaskContext } from './task-state';
/**
 * Manages task state transitions and provides task context.
 */
export declare class TaskManager {
    private state;
    private taskDescription;
    private completedSteps;
    private nextSteps;
    private toolsUsed;
    private stepCount;
    private maxSteps;
    private lastResponseWithoutTools;
    private maxResponsesWithoutTools;
    private lastToolUsed;
    private consecutiveNonToolResponses;
    private continuationPatterns;
    private completionPatterns;
    private stoppingPatterns;
    private continuationTools;
    /**
     * Determines if a user prompt describes a multi-step task.
     */
    isMultiStepTask(prompt: string): boolean;
    /**
     * Starts a new task with the given description.
     */
    startTask(description: string): void;
    /**
     * Analyzes task description to identify potential steps.
     */
    private analyzeTaskRequirements;
    /**
     * Transitions task to in-progress state.
     */
    private transitionToInProgress;
    /**
     * Records that a tool was used in the current task.
     */
    recordToolUse(toolName: string, result: any): void;
    /**
     * Processes a response from the assistant and updates task state.
     */
    processResponse(response: string, toolUsed?: string): void;
    /**
     * Updates task progress based on the assistant's response.
     */
    private updateTaskProgress;
    /**
     * Extracts accomplishments from the response text.
     */
    private extractAccomplishment;
    /**
     * Extracts next steps from the response text.
     */
    private extractNextSteps;
    /**
     * Determines if task should be marked complete (more conservative).
     */
    private shouldMarkComplete;
    /**
     * Checks for explicit completion signals.
     */
    private hasExplicitCompletionSignal;
    /**
     * Original completion check (now used for reference but not for auto-completion).
     */
    private isTaskComplete;
    /**
     * Checks if this is a project creation task.
     */
    private isProjectCreationTask;
    /**
     * Checks if response has continuation indicators.
     */
    private hasContinuationIndicators;
    /**
     * Marks the task as completed.
     */
    private completeTask;
    /**
     * Resets the task to idle state.
     */
    resetTask(): void;
    /**
     * Gets task completion status with details.
     */
    getCompletionStatus(): {
        isComplete: boolean;
        reason?: string;
        stepCount: number;
    };
    /**
     * Manually marks the task as complete.
     */
    forceComplete(reason?: string): void;
    /**
     * Determines if the task should continue automatically.
     */
    shouldContinueAutomatically(response: string, toolUsed?: string): boolean;
    /**
     * Checks if a task is currently active.
     */
    isTaskActive(): boolean;
    /**
     * Gets the current task context.
     */
    getTaskContext(): TaskContext;
    /**
     * Configuration methods for adding patterns and tools.
     */
    addContinuationPattern(pattern: string): void;
    addCompletionPattern(pattern: string): void;
    addContinuationTool(tool: string): void;
}
//# sourceMappingURL=task-manager.d.ts.map