/**
 * Plan Manager
 *
 * Handles the creation, updating, and maintenance of project development plan files.
 * Manages markdown plan files that serve as long-term project memory.
 * Supports custom state machine definitions for dynamic plan file generation.
 */
import type { YamlStateMachine } from './state-machine-types.js';
import type { TaskBackendConfig } from './task-backend.js';
import type { IPlanManager, PlanFileInfo } from './interfaces/plan-manager.interface.js';
export declare class PlanManager implements IPlanManager {
    private stateMachine;
    /**
     * Set the state machine definition for dynamic plan generation
     */
    setStateMachine(stateMachine: YamlStateMachine): void;
    /**
     * Set the task backend configuration
     */
    setTaskBackend(taskBackend: TaskBackendConfig): void;
    /**
     * Get plan file information
     */
    getPlanFileInfo(planFilePath: string): Promise<PlanFileInfo>;
    /**
     * Create initial plan file if it doesn't exist
     */
    ensurePlanFile(planFilePath: string, projectPath: string, gitBranch: string): Promise<void>;
    /**
     * Create initial plan file with template content
     */
    private createInitialPlanFile;
    /**
     * Generate initial plan file content based on state machine definition
     */
    private generateInitialPlanContent;
    /**
     * Update plan file with new content (this is typically done by the LLM)
     */
    updatePlanFile(planFilePath: string, content: string): Promise<void>;
    /**
     * Get plan file content for LLM context
     */
    getPlanFileContent(planFilePath: string): Promise<string>;
    /**
     * Generate phase-specific plan file guidance based on state machine
     */
    generatePlanFileGuidance(phase: string): string;
    /**
     * Delete plan file
     */
    deletePlanFile(planFilePath: string): Promise<boolean>;
    /**
     * Ensure plan file is deleted (verify deletion)
     */
    ensurePlanFileDeleted(planFilePath: string): Promise<boolean>;
    /**
     * Capitalize phase name for display
     */
    private capitalizePhase;
    /**
     * Generate workflow documentation URL for predefined workflows
     * Returns undefined for custom workflows
     */
    private generateWorkflowDocumentationUrl;
}
