import { ITSELF } from '@ucast/core'; import { GetField } from './utils'; import { IsArray, JsInterpretationOptions, JsInterpreter } from './types'; type Field = string | typeof ITSELF; export declare function getObjectFieldCursor(object: T, path: string, get: GetField): readonly [T, string]; export declare function getObjectField(object: unknown, field: Field, get?: GetField, isArray?: IsArray): any; export declare function createGetter(get: T, isArray?: IsArray): (object: Parameters[0], field: Parameters[1]) => any; export declare function compare(a: T, b: T): 0 | 1 | -1; export declare function createJsInterpreter, O extends Partial>(operators: Record, options?: O): (...args: T extends (a: any, c: any) => any ? [condition: import("@ucast/core").Condition] : T extends (a: any, b: any, c: any) => any ? [condition: import("@ucast/core").Condition, value: Parameters[1]] : [condition: import("@ucast/core").Condition, value: Parameters[1], options: Parameters[2], ...args: unknown[]]) => ReturnType; export {};