/**
 * Type checking functions with improved TypeScript support
 */
/**
 * Checks if value is null or undefined
 */
export declare const isNil: (value: unknown) => value is null | undefined;
/**
 * Checks if value is undefined
 */
export declare const isUndefined: (value: unknown) => value is undefined;
/**
 * Checks if value is null
 */
export declare const isNull: (value: unknown) => value is null;
/**
 * Checks if value is a number
 * Unlike Lodash, this correctly returns false for NaN
 */
export declare const isNumber: (value: unknown) => value is number;
/**
 * Checks if value is a string
 */
export declare const isString: (value: unknown) => value is string;
/**
 * Checks if value is a boolean
 */
export declare const isBoolean: (value: unknown) => value is boolean;
/**
 * Checks if value is a function
 */
export declare const isFunction: (value: unknown) => value is Function;
/**
 * Checks if value is an array
 */
export declare const isArray: (arg: any) => arg is any[];
/**
 * Checks if value is an object (excluding null)
 * This is different from Lodash as it doesn't consider arrays as objects
 */
export declare const isObject: (value: unknown) => value is Record<string, any>;
/**
 * Checks if value is a plain object (created by Object constructor or object literal)
 */
export declare const isPlainObject: (value: unknown) => value is Record<string, any>;
/**
 * Checks if value is a Date object
 */
export declare const isDate: (value: unknown) => value is Date;
/**
 * Checks if value is a RegExp object
 */
export declare const isRegExp: (value: unknown) => value is RegExp;
/**
 * Checks if value is a valid finite number
 */
export declare const isFinite: (value: unknown) => value is number;
/**
 * Checks if value is an integer
 */
export declare const isInteger: (value: unknown) => value is number;
/**
 * Checks if value is NaN
 */
export declare const isNaN: (value: unknown) => boolean;
/**
 * Checks if value is empty
 * Works with strings, arrays, objects, maps, sets
 */
export declare const isEmpty: (value: unknown) => boolean;
/**
 * Checks if two values are equal (deep comparison)
 */
export declare const isEqual: (value: unknown, other: unknown) => boolean;
