import { type ConditionalExpression } from "./types";
export type ValidationResult = [boolean] | [boolean, string];
export declare const validate: (expression: ConditionalExpression) => ValidationResult;
/** Convert stringified objects/values back to their native value, all other
 *  values just pass through unaltered. */
export declare const parseValue: (value: unknown) => any;
export declare const contains: (container: unknown, containee: unknown) => boolean;
export declare const parseDate: (value: unknown) => Date;
export declare const isEqual: (left: unknown, right: unknown) => boolean;
export declare const isDeepEqual: (left: unknown, right: unknown) => boolean;
export declare const evaluatesTrue: (value: string | boolean) => boolean;
export declare const evaluatesFalse: (value: string | boolean) => boolean;
export declare const evaluatesNull: (value: unknown) => boolean;
export declare const evaluatesEmpty: (value: string | Array<unknown>) => boolean;
export declare const evaluatesNotEmpty: (value: string | Array<unknown>) => boolean;
export declare const dateIsAfter: (left: unknown, right: unknown) => boolean;
export declare const dateIsBefore: (left: unknown, right: unknown) => boolean;
export declare const dateIsEqual: (left: unknown, right: unknown) => boolean;
export declare const evaluate: (expression: ConditionalExpression) => boolean;
export * from "./types";
