import type { Model } from 'mongoose'; import { InputTypeComposer } from 'graphql-compose'; import type { InputTypeComposerFieldConfigAsObjectDefinition } from 'graphql-compose'; import type { FilterHelperArgsOpts } from './filter'; export declare const availableOperators: readonly ["gt", "gte", "lt", "lte", "ne", "in", "nin", "regex", "exists"]; export type AllowedOperatorsName = (typeof availableOperators)[number]; export type FieldsOperatorsConfig = { [fieldName: string]: FieldsOperatorsConfig | AllowedOperatorsName[] | boolean; } | boolean; export declare const OPERATORS_FIELDNAME = "_operators"; export declare function addFilterOperators(itc: InputTypeComposer, model: Model, opts: FilterHelperArgsOpts): void; export declare function _availableOperatorsFields(fieldName: string, itc: InputTypeComposer, useOperators: AllowedOperatorsName[] | undefined | true): Record; export type OperatorsConfig = { [k: string]: OperatorsConfig | string[]; }; export declare function _recurseSchema(inputITC: InputTypeComposer, sourceITC: InputTypeComposer, opts: CreateOperatorsFieldOpts, indexedFields: string[], pathName: string | null): void; interface CreateOperatorsFieldOpts { baseTypeName: string; operators?: FieldsOperatorsConfig; onlyIndexed?: boolean; prefix?: string; suffix?: string; } export declare function _createOperatorsField(itc: InputTypeComposer, model: Model, opts: CreateOperatorsFieldOpts): InputTypeComposer; export type SelectorOptions = { [k: string]: SelectorOptions | string | string[] | RegExp; }; export declare function _recurseFields(fields: SelectorOptions): SelectorOptions; export declare function processFilterOperators(filter: Record): SelectorOptions; export declare function _prepareAndOrFilter(filter: Record<'OR' | 'AND' | '$or' | '$and', any>): void; export {}; //# sourceMappingURL=filterOperators.d.ts.map