///
import { getType } from '../assertion/getType';
import type { Dict, Falsy, Nil, NonUndefined, Primitive } from '../type';
export { getType };
export * from './isNumber';
/**
* @description 是否为数组
*/
export declare function isArray(value: any): value is Array;
/**
* @description Asserts that the value is Falsy.
* @example
* isFalsy(false) === true
* isFalsy(0) === true
* isFalsy('') === true
* isFalsy(null) === true
* isFalsy(undefined) === true
*/
export declare function isFalsy(value: any): value is Falsy;
/**
* @description Asserts that the value is Nil. `null`, `undefined`
* @example
* isNil(null) === true
* isNil(undefined) === true
*/
export declare function isNil(value: any): value is Nil;
/**
* @description Asserts that the value is not `undefined` or `null`
*/
export declare const isDefinedAndInitialize: (value: T | null | undefined) => value is T;
/**
* @description Asserts that the value is not `undefined` or `null`
*/
export declare const isNotNil: (value: T | null | undefined) => value is T;
/**
* @description Asserts that the value is undefined
*/
export declare const isUndefined: (value: T | undefined) => value is undefined;
/**
* @description Asserts that the value is not undefined
*/
export declare const isDefined: (value: T) => value is NonUndefined;
/**
* @description Asserts that the value is null
*/
export declare const isNull: (value: any) => value is null;
/**
* @description Asserts that the value is not null
*/
export declare const isNotNull: (value: T) => value is NonNullable;
/**
* @description Asserts that the value is []
*/
export declare const isEmptyArray: (value: any) => value is [];
/**
* @description Asserts that the value is Function
*/
export declare function isFunction(value: any): value is Function;
/**
* @description 获取原型
* @example
* const a = { a: 1 };
* const b = Object.create(a);
* const c = Object.create(b);
* getPrototype(c) === b;
* getPrototype(b) === a;
* getPrototype(a) === Object.prototype;
* getPrototype(Object.prototype) === null;
*/
export declare const getPrototype: (value: any) => any;
/**
* @description 获取实例类型
* @example
* const a = { a: 1 };
* const b = Object.create(a);
* const c = Object.create(b);
* getInstanceType(c) === 'Object';
* getInstanceType(b) === 'Object';
* getInstanceType(a) === 'Object';
* getInstanceType(Object.prototype) === 'Object';
* getInstanceType(Object) === 'Function';
* getInstanceType(Function) === 'Function';
*/
export declare const getInstanceType: (value: any) => any;
/**
* @description Check if the value is Object
* @description object、function 类型为 true
* @description Primitive 类型为 false
*/
export declare const isObject: (value: any) => value is object;
/**
* @description
* Check if the value is Object
*
* 不包含 Function 类型
*/
export declare function isObjectLike(value: any): value is Dict;
/**
* @description
* Check if the value is Primitive
*/
export declare const isPrimitive: (value: any) => value is Primitive;
/**
* @description
* Check if the value is Dict
*/
export declare const isPlainObject: (value: any) => value is Dict;
export declare function isString(value: any): value is string;
export declare function isEmptyString(value: any): value is '';
export declare function isBlob(value: any): value is Blob;
export declare const isEmptyBlob: (value: any) => value is Blob;
export declare const isSet: (value: any) => value is Set;
export declare const isEmptySet: (value: any) => value is Set;
export declare const isMap: (value: any) => value is Map;
export declare const isEmptyMap: (value: any) => value is Map;
export declare const isEmptyObject: (value: any) => value is {};
export declare const isEmptyBuffer: (value: any) => value is Buffer;
/**
* @description
* value is `undefined or null or [] or {} or '' or 0` or EmptyBlob or EmptySet or EmptyMap
* @example
* isEmpty(undefined) // true
* isEmpty(null) // true
* isEmpty([]) // true
* isEmpty({}) // true
* isEmpty('') // true
* isEmpty(0) // true
* isEmpty(new Blob()) // true
* isEmpty(new Set()) // true
* isEmpty(new Map()) // true
* isEmpty(function(){}) // false
*/
export declare function isEmpty(value: any): boolean;
/**
* @description Asserts that the value is void. `undefined`, `null`
*/
export declare function isVoid(value: any): value is void;
/**
* @description 判断是不是 dev 环境
*/
export declare const isDevProcess: boolean;
/**
* @description 判断是不是 prod 环境
*/
export declare const isProdProcess: boolean;
/**
* @description 判断是不是非 prod 环境
*/
export declare const isNotProdProcess: boolean;
/**
* @description 判断是不是 test 环境
*/
export declare const isTestProcess: boolean;
export declare const isClient: boolean;
export declare const isServer: boolean;