import { Embeddings, EmbeddingsParams } from "@langchain/core/embeddings";
import { Ai } from "@cloudflare/workers-types";

//#region src/embeddings.d.ts
interface CloudflareWorkersAIEmbeddingsParams extends EmbeddingsParams {
  /** Binding */
  binding: Ai;
  /**
   * Model name to use
   * Alias for `model`
   */
  modelName?: string;
  /**
   * Model name to use
   */
  model?: string;
  /**
   * The maximum number of documents to embed in a single request.
   */
  batchSize?: number;
  /**
   * Whether to strip new lines from the input text. This is recommended by
   * OpenAI, but may not be suitable for all use cases.
   */
  stripNewLines?: boolean;
}
declare class CloudflareWorkersAIEmbeddings extends Embeddings {
  modelName: string;
  model: string;
  batchSize: number;
  stripNewLines: boolean;
  ai: Ai;
  constructor(fields: CloudflareWorkersAIEmbeddingsParams);
  embedDocuments(texts: string[]): Promise<number[][]>;
  embedQuery(text: string): Promise<number[]>;
  private runEmbedding;
}
//#endregion
export { CloudflareWorkersAIEmbeddings, CloudflareWorkersAIEmbeddingsParams };
//# sourceMappingURL=embeddings.d.ts.map