import { PromptlyConfig, LLMAdapter, RenderContext, RenderedPrompt, LLMUsageResult, TemplateValidationSchema } from '../types';
export declare class Promptly {
    private templateLoader;
    private templateRenderer;
    private adapters;
    private defaultModel?;
    private validationSchema?;
    constructor(config: PromptlyConfig);
    /**
     * Set validation schema for templates
     */
    setValidationSchema(schema: TemplateValidationSchema): void;
    /**
     * Render a template with context
     */
    renderTemplate(templateName: string, context?: RenderContext): Promise<RenderedPrompt>;
    /**
     * Generate content using a template
     */
    generate(templateName: string, context?: RenderContext): Promise<LLMUsageResult>;
    /**
     * Find appropriate adapter for a model
     */
    private findAdapter;
    /**
     * Add a new LLM adapter
     */
    addAdapter(adapter: LLMAdapter): void;
    /**
     * Remove an LLM adapter
     */
    removeAdapter(name: string): void;
    /**
     * Get list of available templates
     */
    getAvailableTemplates(): Promise<string[]>;
    /**
     * Check if template exists
     */
    templateExists(templateName: string): Promise<boolean>;
    /**
     * Clear template cache
     */
    clearCache(): void;
    /**
     * Get registered adapters
     */
    getAdapters(): string[];
    /**
     * Get supported models for all adapters
     */
    getSupportedModels(): Record<string, string[]>;
}
//# sourceMappingURL=promptly.d.ts.map