///
import type { Buffer } from 'node:buffer';
import type { ArrayLike, Class, Falsy, NodeStream, NonEmptyString, ObservableLike, Predicate, Primitive, TypedArray, WeakRef } from './types.js';
declare const objectTypeNames: readonly ["Function", "Generator", "AsyncGenerator", "GeneratorFunction", "AsyncGeneratorFunction", "AsyncFunction", "Observable", "Array", "Buffer", "Blob", "Object", "RegExp", "Date", "Error", "Map", "Set", "WeakMap", "WeakSet", "WeakRef", "ArrayBuffer", "SharedArrayBuffer", "DataView", "Promise", "URL", "FormData", "URLSearchParams", "HTMLElement", "NaN", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "BigInt64Array", "BigUint64Array"];
type ObjectTypeName = typeof objectTypeNames[number];
declare const primitiveTypeNames: readonly ["null", "undefined", "string", "number", "bigint", "boolean", "symbol"];
type PrimitiveTypeName = typeof primitiveTypeNames[number];
export type TypeName = ObjectTypeName | PrimitiveTypeName;
declare const assertionTypeDescriptions: readonly ["positive number", "negative number", "Class", "string with a number", "null or undefined", "Iterable", "AsyncIterable", "native Promise", "EnumCase", "string with a URL", "truthy", "falsy", "primitive", "integer", "plain object", "TypedArray", "array-like", "tuple-like", "Node.js Stream", "infinite number", "empty array", "non-empty array", "empty string", "empty string or whitespace", "non-empty string", "non-empty string and not whitespace", "empty object", "non-empty object", "empty set", "non-empty set", "empty map", "non-empty map", "PropertyKey", "even integer", "odd integer", "T", "in range", "predicate returns truthy for any value", "predicate returns truthy for all values", "valid length", "whitespace string", "Function", "Generator", "AsyncGenerator", "GeneratorFunction", "AsyncGeneratorFunction", "AsyncFunction", "Observable", "Array", "Buffer", "Blob", "Object", "RegExp", "Date", "Error", "Map", "Set", "WeakMap", "WeakSet", "WeakRef", "ArrayBuffer", "SharedArrayBuffer", "DataView", "Promise", "URL", "FormData", "URLSearchParams", "HTMLElement", "NaN", "Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array", "BigInt64Array", "BigUint64Array", "null", "undefined", "string", "number", "bigint", "boolean", "symbol"];
export type AssertionTypeDescription = typeof assertionTypeDescriptions[number];
declare function detect(value: unknown): TypeName;
declare const is: typeof detect & {
all: typeof isAll;
any: typeof isAny;
array: typeof isArray;
arrayBuffer: typeof isArrayBuffer;
arrayLike: typeof isArrayLike;
asyncFunction: typeof isAsyncFunction;
asyncGenerator: typeof isAsyncGenerator;
asyncGeneratorFunction: typeof isAsyncGeneratorFunction;
asyncIterable: typeof isAsyncIterable;
bigint: typeof isBigint;
bigInt64Array: typeof isBigInt64Array;
bigUint64Array: typeof isBigUint64Array;
blob: typeof isBlob;
boolean: typeof isBoolean;
boundFunction: typeof isBoundFunction;
buffer: typeof isBuffer;
class: typeof isClass;
/** @deprecated Renamed to `class`. */
class_: typeof isClass;
dataView: typeof isDataView;
date: typeof isDate;
detect: typeof detect;
directInstanceOf: typeof isDirectInstanceOf;
/** @deprecated Renamed to `htmlElement` */
domElement: typeof isHtmlElement;
emptyArray: typeof isEmptyArray;
emptyMap: typeof isEmptyMap;
emptyObject: typeof isEmptyObject;
emptySet: typeof isEmptySet;
emptyString: typeof isEmptyString;
emptyStringOrWhitespace: typeof isEmptyStringOrWhitespace;
enumCase: typeof isEnumCase;
error: typeof isError;
evenInteger: typeof isEvenInteger;
falsy: typeof isFalsy;
float32Array: typeof isFloat32Array;
float64Array: typeof isFloat64Array;
formData: typeof isFormData;
function: typeof isFunction;
/** @deprecated Renamed to `function`. */
function_: typeof isFunction;
generator: typeof isGenerator;
generatorFunction: typeof isGeneratorFunction;
htmlElement: typeof isHtmlElement;
infinite: typeof isInfinite;
inRange: typeof isInRange;
int16Array: typeof isInt16Array;
int32Array: typeof isInt32Array;
int8Array: typeof isInt8Array;
integer: typeof isInteger;
iterable: typeof isIterable;
map: typeof isMap;
nan: typeof isNan;
nativePromise: typeof isNativePromise;
negativeNumber: typeof isNegativeNumber;
nodeStream: typeof isNodeStream;
nonEmptyArray: typeof isNonEmptyArray;
nonEmptyMap: typeof isNonEmptyMap;
nonEmptyObject: typeof isNonEmptyObject;
nonEmptySet: typeof isNonEmptySet;
nonEmptyString: typeof isNonEmptyString;
nonEmptyStringAndNotWhitespace: typeof isNonEmptyStringAndNotWhitespace;
null: typeof isNull;
/** @deprecated Renamed to `null`. */
null_: typeof isNull;
nullOrUndefined: typeof isNullOrUndefined;
number: typeof isNumber;
numericString: typeof isNumericString;
object: typeof isObject;
observable: typeof isObservable;
oddInteger: typeof isOddInteger;
plainObject: typeof isPlainObject;
positiveNumber: typeof isPositiveNumber;
primitive: typeof isPrimitive;
promise: typeof isPromise;
propertyKey: typeof isPropertyKey;
regExp: typeof isRegExp;
safeInteger: typeof isSafeInteger;
set: typeof isSet;
sharedArrayBuffer: typeof isSharedArrayBuffer;
string: typeof isString;
symbol: typeof isSymbol;
truthy: typeof isTruthy;
tupleLike: typeof isTupleLike;
typedArray: typeof isTypedArray;
uint16Array: typeof isUint16Array;
uint32Array: typeof isUint32Array;
uint8Array: typeof isUint8Array;
uint8ClampedArray: typeof isUint8ClampedArray;
undefined: typeof isUndefined;
urlInstance: typeof isUrlInstance;
urlSearchParams: typeof isUrlSearchParams;
urlString: typeof isUrlString;
validLength: typeof isValidLength;
weakMap: typeof isWeakMap;
weakRef: typeof isWeakRef;
weakSet: typeof isWeakSet;
whitespaceString: typeof isWhitespaceString;
};
export declare function isAll(predicate: Predicate, ...values: unknown[]): boolean;
export declare function isAny(predicate: Predicate | Predicate[], ...values: unknown[]): boolean;
export declare function isArray(value: unknown, assertion?: (value: T) => value is T): value is T[];
export declare function isArrayBuffer(value: unknown): value is ArrayBuffer;
export declare function isArrayLike(value: unknown): value is ArrayLike;
export declare function isAsyncFunction(value: unknown): value is ((...args: any[]) => Promise);
export declare function isAsyncGenerator(value: unknown): value is AsyncGenerator;
export declare function isAsyncGeneratorFunction(value: unknown): value is ((...args: any[]) => Promise);
export declare function isAsyncIterable(value: unknown): value is AsyncIterable;
export declare function isBigint(value: unknown): value is bigint;
export declare function isBigInt64Array(value: unknown): value is BigInt64Array;
export declare function isBigUint64Array(value: unknown): value is BigUint64Array;
export declare function isBlob(value: unknown): value is Blob;
export declare function isBoolean(value: unknown): value is boolean;
export declare function isBoundFunction(value: unknown): value is Function;
export declare function isBuffer(value: unknown): value is Buffer;
export declare function isClass(value: unknown): value is Class;
export declare function isDataView(value: unknown): value is DataView;
export declare function isDate(value: unknown): value is Date;
export declare function isDirectInstanceOf(instance: unknown, class_: Class): instance is T;
export declare function isEmptyArray(value: unknown): value is never[];
export declare function isEmptyMap(value: unknown): value is Map;
export declare function isEmptyObject(value: unknown): value is Record;
export declare function isEmptySet(value: unknown): value is Set;
export declare function isEmptyString(value: unknown): value is '';
export declare function isEmptyStringOrWhitespace(value: unknown): value is string;
export declare function isEnumCase(value: unknown, targetEnum: T): boolean;
export declare function isError(value: unknown): value is Error;
export declare function isEvenInteger(value: unknown): value is number;
export declare function isFalsy(value: unknown): value is Falsy;
export declare function isFloat32Array(value: unknown): value is Float32Array;
export declare function isFloat64Array(value: unknown): value is Float64Array;
export declare function isFormData(value: unknown): value is FormData;
export declare function isFunction(value: unknown): value is Function;
export declare function isGenerator(value: unknown): value is Generator;
export declare function isGeneratorFunction(value: unknown): value is GeneratorFunction;
export declare function isHtmlElement(value: unknown): value is HTMLElement;
export declare function isInfinite(value: unknown): value is number;
export declare function isInRange(value: number, range: number | [number, number]): value is number;
export declare function isInt16Array(value: unknown): value is Int16Array;
export declare function isInt32Array(value: unknown): value is Int32Array;
export declare function isInt8Array(value: unknown): value is Int8Array;
export declare function isInteger(value: unknown): value is number;
export declare function isIterable(value: unknown): value is Iterable;
export declare function isMap(value: unknown): value is Map;
export declare function isNan(value: unknown): boolean;
export declare function isNativePromise(value: unknown): value is Promise;
export declare function isNegativeNumber(value: unknown): value is number;
export declare function isNodeStream(value: unknown): value is NodeStream;
export declare function isNonEmptyArray(value: T | Item[]): value is [Item, ...Item[]];
export declare function isNonEmptyMap(value: unknown): value is Map;
export declare function isNonEmptyObject(value: unknown): value is Record;
export declare function isNonEmptySet(value: unknown): value is Set;
export declare function isNonEmptyString(value: unknown): value is NonEmptyString;
export declare function isNonEmptyStringAndNotWhitespace(value: unknown): value is NonEmptyString;
export declare function isNull(value: unknown): value is null;
export declare function isNullOrUndefined(value: unknown): value is null | undefined;
export declare function isNumber(value: unknown): value is number;
export declare function isNumericString(value: unknown): value is `${number}`;
export declare function isObject(value: unknown): value is object;
export declare function isObservable(value: unknown): value is ObservableLike;
export declare function isOddInteger(value: unknown): value is number;
export declare function isPlainObject(value: unknown): value is Record;
export declare function isPositiveNumber(value: unknown): value is number;
export declare function isPrimitive(value: unknown): value is Primitive;
export declare function isPromise(value: unknown): value is Promise;
export declare function isPropertyKey(value: unknown): value is PropertyKey;
export declare function isRegExp(value: unknown): value is RegExp;
export declare function isSafeInteger(value: unknown): value is number;
export declare function isSet(value: unknown): value is Set;
export declare function isSharedArrayBuffer(value: unknown): value is SharedArrayBuffer;
export declare function isString(value: unknown): value is string;
export declare function isSymbol(value: unknown): value is symbol;
export declare function isTruthy(value: T | Falsy): value is T;
type TypeGuard = (value: unknown) => value is T;
type ResolveTypesOfTypeGuardsTuple = TypeGuardsOfT extends [TypeGuard, ...infer TOthers] ? ResolveTypesOfTypeGuardsTuple : TypeGuardsOfT extends undefined[] ? ResultOfT : never;
export declare function isTupleLike>>(value: unknown, guards: [...T]): value is ResolveTypesOfTypeGuardsTuple;
export declare function isTypedArray(value: unknown): value is TypedArray;
export declare function isUint16Array(value: unknown): value is Uint16Array;
export declare function isUint32Array(value: unknown): value is Uint32Array;
export declare function isUint8Array(value: unknown): value is Uint8Array;
export declare function isUint8ClampedArray(value: unknown): value is Uint8ClampedArray;
export declare function isUndefined(value: unknown): value is undefined;
export declare function isUrlInstance(value: unknown): value is URL;
export declare function isUrlSearchParams(value: unknown): value is URLSearchParams;
export declare function isUrlString(value: unknown): value is string;
export declare function isValidLength(value: unknown): value is number;
export declare function isWeakMap(value: unknown): value is WeakMap;
export declare function isWeakRef(value: unknown): value is WeakRef