import type { DefaultCombinatorName, DefaultOperatorName } from "../../types/index.mjs";
import type { JSONataAnd, JSONataBlock, JSONataBoolean, JSONataContains, JSONataEqual, JSONataExprNode, JSONataGreaterThan, JSONataGreaterThanOrEqual, JSONataIdentifier, JSONataIn, JSONataLessThan, JSONataLessThanOrEqual, JSONataList, JSONataName, JSONataNot, JSONataNotEqual, JSONataNull, JSONataNumber, JSONataOr, JSONataPath, JSONataRegex, JSONataString, JSONataToMillis } from "./types.mjs";
type Any = any;
export declare const isJSONataExprNode: (expr: Any) => expr is JSONataExprNode;
export declare const isJSONataPath: (expr: Any) => expr is JSONataPath;
export declare const isJSONataName: (expr: Any) => expr is JSONataName;
export declare const isJSONataIdentifier: (expr: Any) => expr is JSONataIdentifier;
export declare const isJSONataBlock: (expr: Any) => expr is JSONataBlock;
export declare const isJSONataString: (expr: Any) => expr is JSONataString;
export declare const isJSONataNumber: (expr: Any) => expr is JSONataNumber;
export declare const isJSONataBoolean: (expr: Any) => expr is JSONataBoolean;
export declare const isJSONataNull: (expr: Any) => expr is JSONataNull;
export declare const isJSONataRegex: (expr: Any) => expr is JSONataRegex;
export declare const isJSONataAnd: (expr: Any) => expr is JSONataAnd;
export declare const isJSONataOr: (expr: Any) => expr is JSONataOr;
export declare const isJSONataEqual: (expr: Any) => expr is JSONataEqual;
export declare const isJSONataNotEqual: (expr: Any) => expr is JSONataNotEqual;
export declare const isJSONataGreaterThan: (expr: Any) => expr is JSONataGreaterThan;
export declare const isJSONataGreaterThanOrEqual: (expr: Any) => expr is JSONataGreaterThanOrEqual;
export declare const isJSONataLessThan: (expr: Any) => expr is JSONataLessThan;
export declare const isJSONataLessThanOrEqual: (expr: Any) => expr is JSONataLessThanOrEqual;
export declare const isJSONataIn: (expr: Any) => expr is JSONataIn;
export declare const isJSONataNot: (expr: Any) => expr is JSONataNot;
export declare const isJSONataContains: (expr: Any) => expr is JSONataContains;
export declare const isJSONataToMillis: (expr: Any) => expr is JSONataToMillis;
export declare const isJSONataList: (expr: Any) => expr is JSONataList;
export declare const isJSONataPrimitive: (expr: Any) => boolean;
export declare const isJSONataPrimitiveList: (expr: Any) => boolean;
export declare const isJSONataIdentifierList: (expr: Any) => boolean;
export declare const isJSONataValidValue: (expr: Any) => boolean;
export declare const isJSONataComparison: (expr: Any) => expr is JSONataEqual | JSONataNotEqual | JSONataGreaterThan | JSONataGreaterThanOrEqual | JSONataLessThan | JSONataLessThanOrEqual;
export declare const getValidValue: (expr: Any) => Any;
export declare const getFieldFromPath: (path: JSONataPath) => string;
export declare const normalizeOperator: (opType: DefaultOperatorName, flip?: boolean) => DefaultOperatorName;
export declare const negatedLikeOperators: Record<Extract<DefaultOperatorName, "beginsWith" | "contains" | "endsWith">, DefaultOperatorName>;
export declare const generateFlatAndOrList: (expr: JSONataExprNode) => (DefaultCombinatorName | JSONataExprNode)[];
export declare const generateMixedAndOrList: (expr: JSONataAnd | JSONataOr) => (JSONataExprNode | DefaultCombinatorName | (JSONataExprNode | "and")[])[];
export {};
