/**
 * SpecVerse AI Module
 * Main export point for all AI functionality
 */
export * from './commands/index.js';
export * from './core/ecosystem-prompt-manager.js';
export * from './types/index.js';
export * from './config-loader.js';
export { SessionManager } from './session/session-manager.js';
export type { SessionInfo, JobRequest, JobStatus, CreateSessionOptions } from './session/types.js';
export { BehaviorAIService } from './behavior-ai-service.js';
export type { BehaviorAIServiceOptions, BehaviorGenerateContext } from './behavior-ai-service.js';
export { regenerateBehavior } from './behavior-regenerate.js';
export type { RegenerateBehaviorOptions, RegenerateBehaviorResult } from './behavior-regenerate.js';
export { LLMProvider, LLMProviderRegistry } from './providers/llm-provider.js';
export type { LLMMessage, LLMCompletionOptions, LLMCompletionResponse, LLMProviderConfig, LLMStreamChunk } from './providers/llm-provider.js';
export { ProviderFactory } from './providers/provider-factory.js';
export { OpenAIProvider } from './providers/openai-provider.js';
export { AnthropicProvider } from './providers/anthropic-provider.js';
export { InteractiveProvider } from './providers/interactive-provider.js';
export { SpecVerseOrchestrator } from './orchestrator/specverse-orchestrator.js';
export { InteractiveWorkflow } from './orchestrator/interactive-workflow.js';
export { ConfigLoader, configLoader } from './config/index.js';
export type { SpecVerseConfig } from './config/index.js';
import type { SpecVerseEngine, EngineInfo } from '@specverse/types';
export interface AIEngine extends SpecVerseEngine {
    generatePrompt(spec: any, options?: any): Promise<string>;
    suggest(spec: any, context?: string): Promise<any[]>;
    template(name: string, options?: any): Promise<string>;
    /** Generate a TypeScript function body for an unmatched behavior step */
    generateBehavior(step: string, context: BehaviorGenContext): Promise<string | null>;
}
export interface BehaviorGenContext {
    /** The model name (e.g., "Order") */
    modelName: string;
    /** The operation/action name (e.g., "processOrder") */
    operationName: string;
    /** Function name to generate (e.g., "applyDiscountBasedOnLoyaltyTier") */
    functionName: string;
    /** Parameter names from the action (e.g., ['orderId', 'customerId']) */
    parameterNames: string[];
    /** Available models in the spec for context */
    availableModels?: string[];
    /** The full spec for context */
    spec?: any;
}
declare class SpecVerseAIEngine implements AIEngine {
    name: string;
    version: string;
    capabilities: string[];
    private manager;
    initialize(config?: {
        catalogPath?: string;
        provider?: string;
    }): Promise<void>;
    getInfo(): EngineInfo;
    generatePrompt(spec: any, _options?: any): Promise<string>;
    suggest(spec: any, _context?: string): Promise<any[]>;
    /**
     * Generate a TypeScript function body for an unmatched behavior step.
     * Delegates to BehaviorAIService which holds a session-based conversation
     * with Claude (mirrors app-demo's runtime AI guard generation).
     *
     * For best results, callers should reuse the same BehaviorAIService instance
     * across multiple steps in a controller — the conversation accumulates context.
     */
    generateBehavior(step: string, context: BehaviorGenContext): Promise<string | null>;
    template(operation: string, options?: any): Promise<string>;
}
export declare const engine: SpecVerseAIEngine;
export default engine;
export { SpecVerseAIEngine };
//# sourceMappingURL=index.d.ts.map