declare function isArray(obj: any): obj is any[];
declare function isNull(obj: any): obj is null;
declare function isBoolean(obj: unknown): obj is boolean;
declare function isObject(obj: any): obj is Record<string, any>;
declare const isPromise: <T>(obj: unknown) => obj is Promise<T>;
declare function isString(obj: any): obj is string;
declare function isNumber(obj: any): obj is number;
declare function isRegExp(obj: any): boolean;
declare function isDate(obj: any): boolean;
declare function isColor(color: any): boolean;
declare function isUndefined(obj: any): obj is undefined;
declare function isFunction(obj: any): obj is (...args: any[]) => any;
declare function isClass(value: unknown): boolean;
declare function isEmptyObject(obj: any): boolean;
declare function isEmpty(obj: any): boolean;
declare function isExist(obj: any): boolean;
declare function isWindow(el: any): el is Window;
declare function isPhone(phone: unknown): boolean;
declare function isEmail(email: unknown): boolean;

declare const is_isArray: typeof isArray;
declare const is_isNull: typeof isNull;
declare const is_isBoolean: typeof isBoolean;
declare const is_isObject: typeof isObject;
declare const is_isPromise: typeof isPromise;
declare const is_isString: typeof isString;
declare const is_isNumber: typeof isNumber;
declare const is_isRegExp: typeof isRegExp;
declare const is_isDate: typeof isDate;
declare const is_isColor: typeof isColor;
declare const is_isUndefined: typeof isUndefined;
declare const is_isFunction: typeof isFunction;
declare const is_isClass: typeof isClass;
declare const is_isEmptyObject: typeof isEmptyObject;
declare const is_isEmpty: typeof isEmpty;
declare const is_isExist: typeof isExist;
declare const is_isWindow: typeof isWindow;
declare const is_isPhone: typeof isPhone;
declare const is_isEmail: typeof isEmail;
declare namespace is {
  export {
    is_isArray as isArray,
    is_isNull as isNull,
    is_isBoolean as isBoolean,
    is_isObject as isObject,
    is_isPromise as isPromise,
    is_isString as isString,
    is_isNumber as isNumber,
    is_isRegExp as isRegExp,
    is_isDate as isDate,
    is_isColor as isColor,
    is_isUndefined as isUndefined,
    is_isFunction as isFunction,
    is_isClass as isClass,
    is_isEmptyObject as isEmptyObject,
    is_isEmpty as isEmpty,
    is_isExist as isExist,
    is_isWindow as isWindow,
    is_isPhone as isPhone,
    is_isEmail as isEmail,
  };
}

export { is as default, isArray, isBoolean, isClass, isColor, isDate, isEmail, isEmpty, isEmptyObject, isExist, isFunction, isNull, isNumber, isObject, isPhone, isPromise, isRegExp, isString, isUndefined, isWindow };
