import { VectorEmbeddingType } from "./VectorEmbeddingType.js";
export interface IVectorOptions {
    numberOfCandidates?: number;
    similarity?: number;
    isExact?: boolean;
}
export interface FieldVectorOptions {
    dimensions?: number;
    sourceEmbeddingType: VectorEmbeddingType;
    destinationEmbeddingType: VectorEmbeddingType;
    numberOfEdges?: number;
    numberOfCandidatesForIndexing?: number;
}
export interface IVectorOptionsJson {
    SourceEmbeddingType?: VectorEmbeddingType;
    DestinationEmbeddingType?: VectorEmbeddingType;
    Dimensions?: number;
    NumberOfEdges?: number;
    NumberOfCandidates?: number;
    Similarity?: number;
    IsExact?: boolean;
    SourceFieldName?: string;
}
export declare class VectorOptions implements IVectorOptions {
    isExact?: boolean;
    /**
     * Minimum similarity threshold for results (higher means more similar)
     */
    similarity?: number;
    /**
     * Source embedding type
     */
    sourceEmbeddingType?: VectorEmbeddingType;
    /**
     * Destination embedding type
     */
    destinationEmbeddingType?: VectorEmbeddingType;
    /**
     * Number of candidates to consider during indexing
     */
    numberOfCandidates?: number;
    /**
     * Number of edges in the graph
     */
    numberOfEdges?: number;
    constructor(sourceEmbeddingType?: VectorEmbeddingType, destinationEmbeddingType?: VectorEmbeddingType, numberOfEdges?: number, numberOfCandidates?: number, similarity?: number, isExact?: boolean);
    protected static fromJson(json: IVectorOptionsJson): VectorOptions;
    protected toJson(): IVectorOptionsJson;
}
export declare class AutoVectorOptions extends VectorOptions {
    sourceFieldName?: string;
    constructor(sourceEmbeddingType?: VectorEmbeddingType, destinationEmbeddingType?: VectorEmbeddingType, dimensions?: number, numberOfEdges?: number, numberOfCandidates?: number, sourceFieldName?: string);
    static fromVectorOptions(vectorOptions: VectorOptions): AutoVectorOptions;
    protected static fromJson(json: IVectorOptionsJson): AutoVectorOptions;
    protected toJson(): IVectorOptionsJson;
}
//# sourceMappingURL=VectorSearchOptions.d.ts.map