import { EmbeddingProvider } from './EmbeddingProvider';
/**
 * 假的嵌入向量提供者，用于测试
 * 生成随机向量，但对于同一文本总是返回相同的向量
 */
export declare class FakeEmbeddingProvider implements EmbeddingProvider {
    private dimensions;
    private cache;
    private logger;
    /**
     * 创建一个假的嵌入向量提供者
     * @param dimensions 向量维度，默认为128
     */
    constructor(dimensions?: number);
    /**
     * 获取文本的嵌入向量
     * 对于相同文本总是返回相同向量
     * @param text 要嵌入的文本
     * @returns 向量表示
     */
    getEmbedding(text: string): Promise<number[]>;
    /**
     * 获取向量维度
     * @returns 向量维度
     */
    getDimensions(): number;
    /**
     * 获取提供者名称
     * @returns 提供者名称
     */
    getName(): string;
    /**
     * 生成文本的简单哈希值
     * @param text 要哈希的文本
     * @returns 数字哈希值
     */
    private hashString;
    /**
     * 基于种子生成伪随机向量
     * @param seed 随机种子
     * @returns 归一化的单位向量
     */
    private generatePseudoRandomVector;
    /**
     * 将向量归一化为单位向量
     * @param vector 输入向量
     * @returns 归一化后的单位向量
     */
    private normalizeVector;
}
//# sourceMappingURL=FakeEmbeddingProvider.d.ts.map