import { BaseTranslator, Comparator, Comparison, Operation, Operator, StructuredQuery } from "@langchain/core/structured_query"; import { VectaraFilter, VectaraStore } from "../vectorstores/vectara.js"; export type VectaraVisitorResult = VectaraOperationResult | VectaraComparisonResult | VectaraVisitorStructuredQueryResult; export type VectaraOperationResult = String; export type VectaraComparisonResult = String; export type VectaraVisitorStructuredQueryResult = { filter?: { filter?: VectaraOperationResult | VectaraComparisonResult; }; }; export declare class VectaraTranslator extends BaseTranslator { VisitOperationOutput: VectaraOperationResult; VisitComparisonOutput: VectaraComparisonResult; allowedOperators: Operator[]; allowedComparators: Comparator[]; formatFunction(func: Operator | Comparator): string; /** * Visits an operation and returns a VectaraOperationResult. The * operation's arguments are visited and the operator is formatted. * @param operation The operation to visit. * @returns A VectaraOperationResult. */ visitOperation(operation: Operation): this["VisitOperationOutput"]; /** * Visits a comparison and returns a VectaraComparisonResult. The * comparison's value is checked for type and the comparator is formatted. * Throws an error if the value type is not supported. * @param comparison The comparison to visit. * @returns A VectaraComparisonResult. */ visitComparison(comparison: Comparison): this["VisitComparisonOutput"]; /** * Visits a structured query and returns a VectaraStructuredQueryResult. * If the query has a filter, it is visited. * @param query The structured query to visit. * @returns A VectaraStructuredQueryResult. */ visitStructuredQuery(query: StructuredQuery): this["VisitStructuredQueryOutput"]; mergeFilters(defaultFilter: VectaraFilter | undefined, generatedFilter: VectaraFilter | undefined, mergeType?: string, forceDefaultFilter?: boolean): VectaraFilter | undefined; }