import { Plan, PlanStep, PlanModeState, PlanApprovalRequest, PlanApprovalResponse } from './types.js';
export declare class PlanManager {
    private state;
    private approvalCallback?;
    constructor();
    /**
     * Enter plan mode - switches to planning state
     */
    enterPlanMode(): void;
    /**
     * Create a new plan with the given title and description
     */
    createPlan(title: string, description: string): Plan;
    /**
     * Add a step to the current plan
     */
    addStep(content: string, priority?: 'high' | 'medium' | 'low', dependencies?: string[]): PlanStep;
    /**
     * Convert plan to markdown format
     */
    planToMarkdown(plan: Plan): string;
    /**
     * Exit plan mode - present plan for approval
     */
    exitPlanMode(): Promise<PlanApprovalResponse>;
    /**
     * Update step status
     */
    updateStepStatus(stepId: string, status: 'pending' | 'in_progress' | 'completed'): void;
    /**
     * Set the approval callback function
     */
    setApprovalCallback(callback: (request: PlanApprovalRequest) => Promise<PlanApprovalResponse>): void;
    /**
     * Get current state
     */
    getState(): PlanModeState;
    /**
     * Get current plan
     */
    getCurrentPlan(): Plan | undefined;
    /**
     * Check if in plan mode
     */
    isInPlanMode(): boolean;
    private generateId;
}
//# sourceMappingURL=PlanManager.d.ts.map