declare const deepClone: <T>(val: T) => T;

declare const isArray: (val: unknown) => val is Array<any>;

declare const isObject: (val: unknown) => val is object;

declare const isBoolean: (val: unknown) => val is boolean;

declare const isDate: (val: unknown) => val is Date;

declare const isDeepEqual: (valOne: unknown, valTwo: unknown) => boolean;

declare const isFunction: (val: unknown) => val is Function;

declare const isNumber: (val: unknown) => val is number;

declare const isPlainObject: (val: unknown) => val is Record<string, unknown>;

declare const hasPlainObjectRecord: (val: unknown) => boolean;

declare const sleep: (time: number) => Promise<unknown>;

declare const isDefined: (val: unknown) => val is Exclude<any, undefined>;

declare const isUndefined: (val: unknown) => val is undefined;

declare const isNull: (val: unknown) => val is Exclude<any, null>;

declare const isServer: () => boolean;

declare const isClient: () => boolean;

declare const isAndroid: (userAgent?: string) => boolean;

declare const isIos: (userAgent?: string) => boolean;

export { deepClone, hasPlainObjectRecord, isAndroid, isArray, isBoolean, isClient, isDate, isDeepEqual, isDefined, isFunction, isIos, isNull, isNumber, isObject, isPlainObject, isServer, isUndefined, sleep };
