/** * Returns true if the value is a thenable (has a `.then` method). * An utility to be shared among core packages for better size optimization. * * Cross-realm safe (works with iframes, JSDOM, vitest, etc.). * Per Promise/A+ spec, a thenable is any object or function with a `.then` method. */ export declare const isPromise: (v: unknown) => v is Promise; /** * Returns true if the value is an Array. * An utility to be shared among core packages for better size optimization. * * Cross-realm safe via Array.isArray (works with iframes, JSDOM, vitest, etc.). */ export declare const isArray: (arg: any) => arg is any[]; /** * Returns true if the value is a Set. * An utility to be shared among core packages for better size optimization. * * Cross-realm safe via Symbol.toStringTag (works with iframes, JSDOM, vitest, etc.). * Uses Symbol.toStringTag directly instead of Object.prototype.toString.call() for performance. */ export declare const isSet: (v: unknown) => v is Set; /** * Returns true if the value is a Map. * An utility to be shared among core packages for better size optimization. * * Cross-realm safe via Symbol.toStringTag (works with iframes, JSDOM, vitest, etc.). * Uses Symbol.toStringTag directly instead of Object.prototype.toString.call() for performance. */ export declare const isMap: (v: unknown) => v is Map; /** * Returns true if the value is an object (excluding null). * An utility to be shared among core packages for better size optimization. * * Cross-realm safe via typeof (works with iframes, JSDOM, vitest, etc.). * * Note: Returns true for arrays and other object types, but NOT functions. * Use `isObjectOrFunction` if you need to include functions. */ export declare const isObject: (v: unknown) => v is object; /** * Returns true if the value is an object or function. * Cross-realm safe via typeof (works with iframes, JSDOM, etc.). * * Use this when you need to check for both objects AND functions. * For objects only, use `isObject`. For functions only, use `isFunction`. * * @example * ```ts * isObjectOrFunction({}); // true * isObjectOrFunction(() => {}); // true * isObjectOrFunction(null); // false * isObjectOrFunction('string'); // false * ``` */ export declare function isObjectOrFunction(value: unknown): value is T; /** * Returns true if the value is a function * An utility to be shared among core packages for better size optimization */ export declare const isFunction: (v: unknown) => v is T; /** * Returns true if the value is a string * An utility to be shared among core packages for better size optimization */ export declare const isString: (v: unknown) => v is string; /** * Returns true if the value is a symbol * An utility to be shared among core packages for better size optimization */ export declare const isSymbol: (v: unknown) => v is symbol; /** * Returns true if the value is a number * An utility to be shared among core packages for better size optimization */ export declare const isNumber: (v: unknown) => v is number; /** * Create an object with no prototype to be used as a record * An utility to be shared among core packages for better size optimization */ export declare const createLookup: () => Record; /** * Compare the 2 values without pitfall of JS ===, including NaN and +0/-0 * An utility to be shared among core packages for better size optimization */ export declare const areEqual: (value1: any, value2: any) => boolean; export type AnyFunction = (...args: any) => any; export type FunctionPropNames = { [K in keyof T]: K extends 'constructor' ? never : NonNullable extends AnyFunction ? K : never; }[keyof T]; export type MaybePromise = T | Promise; //# sourceMappingURL=utilities.d.ts.map