/**
 * OpenAI 임베딩 서비스
 * text-embedding-3 시리즈를 활용해 고차원 임베딩 제공
 */
import type { EmbeddingServiceInterface, EmbeddingResult, SimilarityResult, EmbeddingData } from '../../../shared/types/embedding.types.js';
export declare class OpenAIEmbeddingService implements EmbeddingServiceInterface {
    private client;
    private readonly model;
    private readonly dimensions;
    private readonly maxTokens;
    private readonly cache;
    private readonly fallbackService;
    private readonly retryManager;
    constructor();
    /**
     * OpenAI 클라이언트를 초기화
     */
    private initializeClient;
    isAvailable(): boolean;
    getModelInfo(): {
        model: string;
        dimensions: number;
        maxTokens: number;
    };
    generateEmbedding(text: string): Promise<EmbeddingResult | null>;
    searchSimilar(query: string, embeddings: EmbeddingData[], limit?: number, threshold?: number): Promise<SimilarityResult[]>;
    private generateOpenAIEmbedding;
    private generateFallbackEmbedding;
    private validateInput;
    private truncateText;
    private estimateTokens;
    private cosineSimilarity;
    private generateCacheKey;
    private hashText;
    private cleanupCache;
}
//# sourceMappingURL=openai-embedding-service.d.ts.map