import { FieldCondition, ITSELF } from '@ucast/core'; import { IsArray, JsInterpretationOptions, JsInterpreter } from './types'; export type AnyObject = Record; export type GetField = (object: any, field: string) => any; export declare function testRegExp(regex: RegExp, value: unknown): boolean; export declare function getFieldValue(object: unknown, field: string | typeof ITSELF, get: GetField): any; export declare function matches(a: unknown, b: unknown, compare: JsInterpretationOptions['compare']): boolean; export declare function includes(items: unknown[], value: unknown, compare: JsInterpretationOptions['compare']): boolean; export declare function isArrayAndNotNumericField(object: T | T[], field: string, isArray: IsArray): object is T[]; export declare function getValueByPath(object: AnyObject, field: string, get: GetField, isArray: IsArray): any; export declare function testValueOrArray(test: JsInterpreter, U>): JsInterpreter, AnyObject | U>; export declare const hasOwn: (object: object, key: PropertyKey) => boolean;