/** * @file Guard Utilities * @description Type guards and validation utilities */ /** * Check if value is defined (not null or undefined) */ export declare function isDefined(value: T | null | undefined): value is T; /** * Check if value is null or undefined */ export declare function isNullish(value: unknown): value is null | undefined; /** * Check if value is a string */ export declare function isString(value: unknown): value is string; /** * Check if value is a non-empty string */ export declare function isNonEmptyString(value: unknown): value is string; /** * Check if value is a number */ export declare function isNumber(value: unknown): value is number; /** * Check if value is a finite number */ export declare function isFiniteNumber(value: unknown): value is number; /** * Check if value is a boolean */ export declare function isBoolean(value: unknown): value is boolean; /** * Check if value is a function */ export declare function isFunction(value: unknown): value is (...args: unknown[]) => unknown; /** * Check if value is an object (not null, not array) */ export declare function isObject(value: unknown): value is Record; /** * Check if value is an array */ export declare function isArray(value: unknown): value is T[]; /** * Check if value is a non-empty array */ export declare function isNonEmptyArray(value: unknown): value is T[]; /** * Check if value is a Date */ export declare function isDate(value: unknown): value is Date; /** * Check if value is a valid date string */ export declare function isDateString(value: unknown): value is string; /** * Check if value is a Promise */ export declare function isPromise(value: unknown): value is Promise; /** * Check if value matches a type guard */ export declare function assert(value: unknown, guard: (value: unknown) => value is T, message?: string): asserts value is T; /** * Check if value is one of allowed values */ export declare function isOneOf(value: unknown, allowedValues: readonly T[]): value is T; /** * Check if object has key */ export declare function hasKey(obj: unknown, key: K): obj is Record; /** * Check if object has all required keys */ export declare function hasKeys(obj: unknown, keys: readonly K[]): obj is Record; /** * Check if value is an Error */ export declare function isError(value: unknown): value is Error; /** * Check if value is a valid email */ export declare function isEmail(value: unknown): value is string; /** * Check if value is a valid URL */ export declare function isUrl(value: unknown): value is string; /** * Check if value is a valid UUID */ export declare function isUuid(value: unknown): value is string; /** * Narrow type or return undefined */ export declare function narrow(value: unknown, guard: (value: unknown) => value is T): T | undefined; /** * Narrow type or return default */ export declare function narrowOr(value: unknown, guard: (value: unknown) => value is T, defaultValue: T): T; /** * Create a type guard for object shape */ export declare function createShapeGuard>(shape: { [K in keyof T]: (value: unknown) => value is T[K]; }): (value: unknown) => value is T; /** * Safe JSON parse with type guard */ export declare function safeJsonParse(json: string, guard: (value: unknown) => value is T): T | undefined;