import type { IAgentRuntime } from "../types/runtime";
import { Service } from "../types/service";
/**
 * Service responsible for generating embeddings asynchronously
 * This service listens for EMBEDDING_GENERATION_REQUESTED events
 * and processes them in a queue to avoid blocking the main runtime
 */
export declare class EmbeddingGenerationService extends Service {
    static serviceType: string;
    capabilityDescription: string;
    private batchQueue;
    private isDisabled;
    private static readonly EMBEDDING_DRAIN_TASK;
    static start(runtime: IAgentRuntime): Promise<Service>;
    initialize(): Promise<void>;
    private handleEmbeddingRequest;
    private generateEmbedding;
    stop(): Promise<void>;
    getQueueSize(): number;
    getQueueStats(): {
        high: number;
        normal: number;
        low: number;
        total: number;
    };
    clearQueue(): void;
}
export default EmbeddingGenerationService;
//# sourceMappingURL=embedding.d.ts.map