/**
 * AI Command Types and Interfaces
 */
export interface UserRequirements {
    requirements: string;
    scale?: 'personal' | 'business' | 'enterprise';
    framework?: string;
    domain?: string;
    compliance?: string[];
    technology_preferences?: string[];
}
export interface PromptTemplate {
    name: string;
    version: string;
    system: string;
    user: string;
    context?: string;
    variables?: string[];
}
export interface FilledPrompt {
    systemPrompt: string;
    userPrompt: string;
    contextPrompt?: string;
    variables: Record<string, any>;
}
export interface LibrarySuggestion {
    type: 'deployment' | 'domain' | 'manifest' | 'types';
    name: string;
    description: string;
    rationale: string;
    expansion_factor?: number;
    compliance?: string[];
}
export interface AILibraryContext {
    suggestions: LibrarySuggestion[];
    total: number;
    reasoning: string;
}
export interface EnhancedPrompt extends FilledPrompt {
    libraryContext: AILibraryContext;
    estimatedTokens: number;
    estimatedCost?: Record<string, number>;
    executionOptions: ExecutionOption[];
}
export interface ExecutionOption {
    provider: 'openai' | 'anthropic' | 'local' | 'interactive';
    model?: string;
    estimatedCost?: number;
    description: string;
}
export interface CostEstimate {
    estimatedTokens: number;
    costByProvider: Record<string, number>;
    cheapestOption: string;
    fastestOption: string;
}
/**
 * Canonical AI operations — each maps to a `<op>.prompt.yaml` in
 * `@specverse/assets/prompts/core/standard/default/`.
 *
 * `materialise` + `realize` were removed 2026-04-29 — they were vestigial
 * whole-app / whole-deployment LLM prompts from a pre-instance-factory era.
 * Today's realize pipeline is deterministic except for per-step behavior
 * code generation, which uses `behavior.prompt.yaml`.
 *
 * `infer` is retained as a placeholder; there's no infer.prompt.yaml today
 * (inference is fully deterministic), but the operation slot is reserved
 * for a future LLM-assisted inference workflow.
 */
export type AIOperation = 'analyse' | 'create' | 'verify-analyse' | 'verify-create' | 'behavior' | 'app-demo' | 'infer';
export interface AICommandOptions {
    requirements?: string;
    scale?: 'personal' | 'business' | 'enterprise';
    framework?: string;
    domain?: string;
    compliance?: string[];
    technology_preferences?: string[];
    pver?: string;
    output?: string;
    copy?: boolean;
    config?: string;
}
/**
 * AI Config File Format (YAML)
 * Used with --config option to provide requirements and library context
 */
export interface AIConfig {
    requirements?: string;
    scale?: 'personal' | 'business' | 'enterprise';
    framework?: string;
    domain?: string;
    compliance?: string[];
    technology?: string[];
    libraries?: string[];
}
//# sourceMappingURL=index.d.ts.map