import { OnModuleInit } from "@nestjs/common"; import { ConfigService } from "@nestjs/config"; import { BaseConfigInterface } from "../../../config/interfaces"; import { AppLoggingService } from "../../logging/services/logging.service"; import { RedisClientStorageService } from "../../redis/services/redis.client.storage.service"; /** * Distributed (Redis-backed) token bucket that rate-limits embedder calls across * every worker sharing this package's LLM layer. Only initialises when the * `ai.embedder.rateLimit` config block is present — without it the service is a * no-op (and ModelService.getEmbedder() returns the raw provider embedder). */ export declare class EmbedderTokenBucketService implements OnModuleInit { private readonly redisClientStorage; private readonly config; private readonly logger; private redis?; private bucketKey; private capacity; private refillPerMs; constructor(redisClientStorage: RedisClientStorageService, config: ConfigService, logger: AppLoggingService); onModuleInit(): Promise; consume(estTokens: number, maxWaitMs: number): Promise<{ granted: boolean; waitMs: number; bucketAfter: number; }>; refund(estTokens: number): Promise; } //# sourceMappingURL=embedder-token-bucket.service.d.ts.map