/**
 * Behavior AI Service — session-based Claude conversation for generating
 * TypeScript function bodies for unmatched behavior steps.
 *
 * Architecture (mirrors specverse-app-demo/src/ai/ai-service.ts):
 * - First call: spawns Claude with --session-id <uuid> --system-prompt <prompt>
 * - Subsequent calls: --resume <uuid> for cached context (98% token savings)
 * - All steps for a controller share one session — Claude builds understanding
 *   of the spec across calls, generating coherent code
 * - Loads system prompt from assets/prompts/core/standard/v9/behavior.prompt.yaml
 *
 * Used by ai-behaviors-generator at realize time.
 */
export interface BehaviorAIServiceOptions {
    claudePath?: string;
    model?: string;
    timeout?: number;
}
export interface BehaviorGenerateContext {
    step: string;
    modelName: string;
    operationName: string;
    functionName: string;
    parameterNames: string[];
    availableModels: string[];
    spec?: any;
    /** Declared return type from spec (TypeScript type string) */
    returnType?: string;
}
/**
 * Session-based AI service for generating behavior implementations.
 */
export declare class BehaviorAIService {
    private claudePath;
    private model;
    private timeout;
    private sessionId;
    private initialized;
    private currentProcess;
    private systemPrompt;
    private userTemplate;
    constructor(options?: BehaviorAIServiceOptions);
    private detectClaudePath;
    /**
     * Check if Claude CLI is available.
     */
    get isAvailable(): boolean;
    /**
     * Start a new session for a controller. All step generations within the
     * controller will share this session, accumulating spec context.
     */
    startSession(controllerName: string): string;
    /**
     * Generate a function body for a behavior step.
     * First call creates the session with system prompt; subsequent calls resume.
     */
    generateBehavior(ctx: BehaviorGenerateContext): Promise<string | null>;
    /**
     * End the current session.
     */
    endSession(): void;
    private buildUserPrompt;
    private extractCode;
}
//# sourceMappingURL=behavior-ai-service.d.ts.map