export declare function omit>(obj: T, keys: K): Omit; export declare function pick>(obj: T, keys: K): Pick; export interface DelayHandler { (...args: TArgs): TResult | void; clear: () => void; getId: () => number; updateDelayTime: (delayInMS?: number) => void; } export declare function createDelayHandler(func: (...args: TArgs) => TResult, delayInMS?: number): DelayHandler; export declare function safeInvoke(func: ((...arg: TArgs) => TResult) | undefined | null, ...arg: TArgs): TResult | undefined; export declare function toggleSelectedList(id: T, list: T[], { multiple, onSelect, onDeselect, }?: { multiple?: boolean; onSelect?: (id: T, nextList: T[], currentList: T[]) => void; onDeselect?: (id: T, nextList: T[], currentList: T[]) => void; }): T[]; export declare function hasOwnProperty(obj: unknown, propName: string): boolean; export declare function addThousandSeparator(num: number | string, separator?: string): string; export declare function createRandomId(prefix?: string): string; export declare function isPromiseLike(maybePromise: unknown): maybePromise is Promise; export declare function isPromise(maybePromise: unknown): maybePromise is Promise; export declare function isWindows(): boolean; export declare function isMac(): boolean; export declare function waitTimeout(timeout?: number): Promise;