/**
 * Component Composer - Refactored to use new core infrastructure
 *
 * Maintains backward compatibility while using unified LLM client,
 * cache manager, and code cleaner from core.
 */
import { type AllSupportedModels } from "./core/provider-and-models.js";
interface ComposeOptions {
    model?: AllSupportedModels;
    noCache?: boolean;
    json?: boolean;
    maxTokens?: number;
    smartSelection?: boolean;
}
export interface CompositionResult {
    code: string;
    components: string[];
    imports: string;
    types?: string;
    prompt: string;
    timestamp: string;
}
export declare class ComponentComposer {
    private llmClient;
    private codeCleaner;
    private promptBuilder;
    constructor();
    compose(prompt: string, options?: ComposeOptions): Promise<CompositionResult>;
    private selectComponents;
    private findRelevantComponents;
    private askLLMForComponentSelection;
    private gatherComponentInfo;
    private buildContext;
    private callLLM;
    private formatResult;
}
export {};
//# sourceMappingURL=composer.d.ts.map