/**
 * Instruction Generator
 *
 * Creates phase-specific guidance for the LLM based on current conversation state.
 * Customizes instructions based on project context and development phase.
 * Supports custom state machine definitions for dynamic instruction generation.
 * Handles variable substitution for project artifact references.
 */
import { PlanManager } from './plan-manager.js';
import type { YamlStateMachine } from './state-machine-types.js';
import type { IInstructionGenerator, InstructionContext, GeneratedInstructions } from './interfaces/instruction-generator.interface.js';
export declare class InstructionGenerator implements IInstructionGenerator {
    private projectDocsManager;
    constructor(_planManager: PlanManager);
    /**
     * Set the state machine definition for dynamic instruction generation
     */
    setStateMachine(_stateMachine: YamlStateMachine): void;
    /**
     * Generate comprehensive instructions for the LLM
     */
    generateInstructions(baseInstructions: string, context: InstructionContext): Promise<GeneratedInstructions>;
    /**
     * Apply variable substitution to instructions
     * Replaces project artifact variables with actual file paths
     */
    private applyVariableSubstitution;
    /**
     * Escape special regex characters in variable names
     */
    private escapeRegExp;
    /**
     * Enhance base instructions with context-specific information
     */
    private enhanceInstructions;
    /**
     * Generate task management guidance for markdown backend
     */
    private generateTaskManagementGuidance;
    /**
     * Capitalize phase name for display
     */
    private capitalizePhase;
}
