import { xLuceneTypeConfig, xLuceneVariables } from '@terascope/types'; import { Repository, RecordInput } from '../interfaces.js'; export declare const repository: Repository; /** * This function will return false if input record does not have all specified keys * * @example * const obj1 = { foo: 'hello', bar: 'stuff' }; * const obj2 = { foo: 123412 }; * const fields = ['bar']; * * const results1 = RecordValidator.required(obj1, obj1, { fields }); * const results2 = RecordValidator.required(obj2, obj2, { fields }); * * results1; // true; * results2; // false; * * @param { Record} obj * @param {{ fields: string[] }} { fields } * @returns boolean */ export declare function required(input: RecordInput, _parentContext: RecordInput, args: { fields: string[]; }): RecordInput | null; interface DMOptions { query: string; type_config?: xLuceneTypeConfig; variables?: xLuceneVariables; } /** * Will return true if an object matches the xLucene expression * * @example * const obj1 = { foo: 'hello', bar: 'stuff' }; * const obj2 = { foo: 123412 }; * const args = { query: '_exists_:bar' }; * * const results1 = RecordValidator.select(obj1, obj1, args); * const results2 = RecordValidator.select(obj2, obj2, args); * * results1; // true; * results2; // false; * * @param { Record} obj * @param {{ query: string, type_config: xLuceneTypeConfig, variables: xLuceneVariables }} args * shape is { query: string, type_config: xLuceneTypeConfig, variables: xLuceneVariables } * @returns boolean */ export declare function select(input: RecordInput, _parentContext: RecordInput, args: DMOptions): RecordInput | null; /** * Will return true if an object DOES NOT match the xLucene expression * * @example * const obj1 = { foo: 'hello', bar: 'stuff' }; * const obj2 = { foo: 123412 }; * const args = { query: '_exists_:bar' }; * * const results1 = RecordValidator.reject(obj1, obj1, args); * const results2 = RecordValidator.reject(obj2, obj2, args); * * results1; // false; * results2; // true; * * @param { Record} obj * @param {DMOptions} args * shape is { query: string, type_config: xLuceneTypeConfig, variables: xLuceneVariables } * @returns boolean */ export declare function reject(input: RecordInput, _parentContext: RecordInput, args: DMOptions): RecordInput | null; export {}; //# sourceMappingURL=record-validator.d.ts.map