/**
 * Cohere Embedder Implementation
 *
 * Optimized embedder using Cohere's embedding API
 * with performance enhancements for production use
 */
import { BaseEmbedder, BaseEmbedderOptions } from './BaseEmbedder.js';
/**
 * Cohere Embedder Options
 */
export interface CohereEmbedderOptions extends BaseEmbedderOptions {
    /**
     * Cohere API key
     */
    apiKey: string;
    /**
     * Model to use for embeddings
     */
    model?: string;
    /**
     * API URL
     */
    apiUrl?: string;
    /**
     * Request timeout in milliseconds
     */
    timeout?: number;
}
/**
 * Cohere Embedder Implementation
 *
 * Uses Cohere's embedding models with optimized performance characteristics
 */
export declare class CohereEmbedder extends BaseEmbedder<CohereEmbedderOptions> {
    protected _apiKey: string;
    protected _apiUrl: string;
    constructor(options: CohereEmbedderOptions);
    embed(text: string): Promise<Float32Array>;
    embedBatch(texts: string[]): Promise<Float32Array[]>;
    protected executeWithRetry<T>(operation: () => Promise<T>, maxRetries?: number, initialBackoff?: number, maxBackoff?: number): Promise<T>;
    protected executeBatchWithRetry<T>(operation: () => Promise<T>, maxRetries?: number, initialBackoff?: number, maxBackoff?: number): Promise<T>;
    protected isTransientError(error: Error): boolean;
    protected embedText(text: string): Promise<Float32Array>;
}
//# sourceMappingURL=CohereEmbedder.d.ts.map