import { Schema } from "../arrow"; import { EmbeddingFunction } from "./embedding_function"; import { EmbeddingFunctionRegistry } from "./registry"; export { FieldOptions, EmbeddingFunction, TextEmbeddingFunction, FunctionOptions, EmbeddingFunctionConstructor, } from "./embedding_function"; export { EmbeddingFunctionRegistry, parseEmbeddingMetadata, register, } from "./registry"; export type { CreateReturnType, EmbeddingFunctionConfig, EmbeddingFunctionCreate, EmbeddingMetadataEntry, ResolvedEmbeddingFunctionConfig, } from "./registry"; /** * Get the global embedding function registry. * * LanceDB built-in providers are initialized when this public API is first * used, so importing the root package does not change automatic search * selection for tables without embedding metadata. */ export declare function getRegistry(): EmbeddingFunctionRegistry; /** * Create a schema with embedding functions. * * @param fields * @returns Schema * @example * ```ts * class MyEmbeddingFunction extends EmbeddingFunction { * // ... * } * const func = new MyEmbeddingFunction(); * const schema = LanceSchema({ * id: new Int32(), * text: func.sourceField(new Utf8()), * vector: func.vectorField(), * // optional: specify the datatype and/or dimensions * vector2: func.vectorField({ datatype: new Float32(), dims: 3}), * }); * * const table = await db.createTable("my_table", data, { schema }); * ``` */ export declare function LanceSchema(fields: Record] | object>): Schema;