export interface IsEqualOptions { compare?: (a: any, b: any, key?: string | symbol) => boolean | undefined; keysToIgnore?: Set | string[]; mustBeSameClass?: boolean; } export declare function processMillis(): number; export declare function sleep(ms: number): Promise; export declare enum DateTimeOptions { DATE_ONLY = 0, NO_SECONDS = 1, NO_ZONE = 2, TIME_ONLY = 3, UTC = 4, USE_T = 5, USE_Z = 6, WITH_MILLIS = 7 } export declare function formatDateTime(options?: DateTimeOptions[]): string; export declare function formatDateTime(date: Date | number | string, ...options: DateTimeOptions[]): string; export declare function formatDateTime(date: Date | number | string, options?: DateTimeOptions[]): string; export declare function numSort(a: any, b: any): number; export declare function reverseNumSort(a: any, b: any): number; export declare function toDefaultLocaleFixed(n: number, minFracDigits?: number, maxFracDigits?: number): string; export declare function toBoolean(value: any, defaultValue?: boolean, forHtmlAttribute?: boolean): boolean; export declare function toBoolean(value: any, defaultValue: null, forHtmlAttribute?: boolean): boolean | null; export declare function toInt(value: any, defaultValue?: number, radix?: number): number; export declare function toInt(value: any, defaultValue: null, radix?: number): number | null; export declare function toValidInt(value: any, defaultValue?: number, radix?: number): number; export declare function toNumber(value: any, defaultValue?: number): number; export declare function toNumber(value: any, defaultValue: null): number | null; export declare function toValidNumber(value: any, defaultValue?: number): number; export declare function first(array: ArrayLike | null | undefined, defaultValue?: T): T | undefined; export declare function nth(array: ArrayLike | null | undefined, n: number, defaultValue?: T): T | undefined; export declare function last(array: ArrayLike | null | undefined, defaultValue?: T): T | undefined; export declare function push(array: T[] | null | undefined, ...items: any[]): T[]; export declare function pushIf(condition: boolean, array: T[] | null | undefined, ...items: any[]): T[]; export declare function forEach(obj: Record | null | undefined, callback: (key: string, value: T) => void): void; export declare function forEach2(obj: Record | null | undefined, callback: (key: string | symbol, value: T) => void): void; export declare function isArray(a: unknown): a is any[]; export declare function nfe(array: T[]): T[] | null; export declare function ufe(array: T[]): T[] | undefined; export declare function getOrSet(map: Map, key: T, callbackOrValue: U | (() => U)): U; export declare function getOrSetAsync(map: Map, key: T, callback: () => Promise): Promise; export declare function isArrayLike(a: unknown): a is ArrayLike; export declare function isBigint(a: unknown): a is bigint; export declare function isBoolean(a: unknown): a is boolean; export declare function isFunction(a: unknown): a is Function; export declare function isNonFunctionObject(a: unknown): a is Exclude, Function>; export declare function isNumber(a: unknown): a is number; export declare function isObject(a: unknown): a is Record; export declare function isString(a: unknown): a is string; export declare function isSymbol(a: unknown): a is symbol; export declare function classOf(a: unknown, noClassResult?: boolean): string | null; export declare function clone(orig: T, shallow?: boolean | Set | ((value: any, depth: number) => boolean)): T; export declare function isEqual(a: any, b: any, options?: boolean | IsEqualOptions, key?: string | symbol): boolean; export declare function flatten(a: any[]): any[]; export declare function flattenDeep(a: any[]): any[]; export type EntrySorter = (a: [string | symbol, any], b: [string | symbol, any]) => number; export declare function sortObjectEntries(obj: T, inPlace?: boolean): T; export declare function sortObjectEntries(obj: T, sorter?: EntrySorter, inPlace?: boolean): T; export declare const noop: (..._args: any[]) => void; export declare const repeat: (n: number, f: (n?: number) => any) => void; export declare function isValidJson(s: string): boolean; export declare function keyCount(obj: any): number; export declare function regex(main: TemplateStringsArray, flags?: string): RegExp; export declare function compareDottedValues(a: string, b: string): number; export type TbuAnyFunction = (...args: any[]) => any; export declare function debounce(delay: number, func: F, callback?: (result: ReturnType) => void): ((...args: Parameters) => void) & { cancel: () => void; }; export declare function throttle(delay: number, func: F, callback?: (result: ReturnType) => void): ((...args: Parameters) => void) & { cancel: () => void; }; //# sourceMappingURL=misc-util.d.ts.map