/**
 * check if value is null
 * @param val value
 * @returns true/false
 */
export declare function isNull(val: any): val is null;
/**
 * check if value is undefined
 * @param val value
 * @returns true/false
 */
export declare function isUndefined(val: any): val is undefined;
/**
 * alias to isUndefined
 * @deprecated Use `isUndefined` instead. This alias may cause confusion due to inconsistent naming conventions.
 * @param val value
 * @returns true/false
 */
export declare const isUndef: typeof isUndefined;
/**
 * check if value is a array
 * @param val value
 * @returns true/false
 */
export declare function isArray<T extends unknown>(val: any): val is T[];
/**
 * check if value is an object
 * @param val value
 * @returns true/false
 */
export declare function isObject<T extends object>(val: any): val is T;
/**
 * check if value is a plain object
 * @param val value
 * @returns true/false
 */
export declare function isPlainObject<T extends object>(val: any): val is T;
/**
 * check if value is a date
 * @param val value
 * @returns true/false
 */
export declare function isDate(val: any): val is Date;
/**
 * check if value is a function
 * @param val value
 * @returns true/false
 */
export declare function isFunction<T extends Function>(val: any): val is T;
/**
 * Inlined Object.is polyfill.
 * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
 */
export declare function objectIs(x: any, y: any): boolean;
/**
 * check if value is primitive
 * https://developer.mozilla.org/en-US/docs/Glossary/Primitive
 * @param val value
 * @returns true/false
 */
export declare function isPrimitive(val: any): boolean;
/**
 * compare two values are fully equal
 * @param x value x
 * @param y value y
 * @returns true/false
 */
export declare function equals(x: any, y: any): boolean;
