import type { CustomMatcher } from './customOperators.js'; import type { DefaultNumberMatcher, NumberMatcher } from './getNumberMatchers.ts'; import type { CustomObjectMatcher } from './getObjectMatchers.ts'; import type { DefaultStringMatcher, StringMatcher } from './getStringMatchers.ts'; /** * A criterion which checks the existence of a key */ export interface KeyCriterion { type: 'exists'; /** * The regexp that should match the key. If the key does not meet the regexp, */ key: RegExp; /** * Match non-existing keys instead of existing keys */ negate: boolean; } /** * A criterion which optionnally matches a key and checks the value in a callback */ export interface ValueCriterion { type: 'matches'; /** * The regexp that should match the key. Non matching keys are not checked */ key?: RegExp; /** * Use to match anything that does not match the value */ negate: boolean; defaultStringMatcher: DefaultStringMatcher; defaultNumberMatcher: DefaultNumberMatcher; customStringMatchers: StringMatcher[]; customNumberMatchers: NumberMatcher[]; customObjectMatchers?: CustomObjectMatcher[]; } export type Criterion = KeyCriterion | ValueCriterion; interface KeywordToCriterionOptions { caseSensitive?: boolean; pathAlias?: Record; customOperators: CustomMatcher[]; } /** * @internal */ export declare function convertKeywordToCriterion(keyword: string, options?: KeywordToCriterionOptions): Criterion; export declare function convertKeywordsToCriteria(keywords: string[], options: { caseSensitive?: boolean; pathAlias?: Record; customOperators: CustomMatcher[]; }): Criterion[]; export {}; //# sourceMappingURL=convertKeywordToCriterion.d.ts.map