import { Embeddings } from "@langchain/core/embeddings"; import { ConfigAiInterface } from "../../../config/interfaces"; import { AppLoggingService } from "../../logging/services/logging.service"; import { EmbedderTokenBucketService } from "./embedder-token-bucket.service"; type RateLimitConfig = NonNullable; export declare class EmbedderBucketStarvedError extends Error { readonly estTokens: number; readonly waitMs: number; constructor(estTokens: number, waitMs: number); } export declare class RateLimitedEmbedder extends Embeddings { private readonly inner; private readonly bucket; private readonly rateLimit; private readonly logger; private readonly embedGate; constructor(inner: Embeddings, bucket: EmbedderTokenBucketService, rateLimit: RateLimitConfig, logger: AppLoggingService); embedQuery(text: string): Promise; embedDocuments(texts: string[]): Promise; private embedSubBatchWithRetry; private gatedEmbed; private estimateTokens; private splitIntoSubBatches; private is429; private isTokenLimitError; private parseRetryAfter; private getHeader; private sleep; } export {}; //# sourceMappingURL=rate-limited-embedder.d.ts.map