export * from 'to-fluent'; export * from 'deep-mutate-object'; export * from 'pick-omit'; export * from './rgb'; export * from './eventemitter'; export { default as isEqual } from './is-equal'; import type { Chunk, Class, Fn, StringOf } from 'everyday-types'; export declare function chunk(arr: T[], size: L): Chunk[]; export declare function entries(obj: T): readonly [K, V][]; export declare function entries>(obj: T): readonly [K, V][]; export declare function keys(obj: T): readonly K[]; export declare function keys>(obj: T): readonly K[]; export declare function fromEntries(entries: readonly [K, V][]): Record; export declare function cheapRandomId(): string; export declare const randomId: typeof cheapRandomId; export declare function accessors(target: T, source: S, fn: (key: StringOf, value: S[StringOf]) => PropertyDescriptor, filter?: (key: StringOf, value: S[StringOf]) => boolean): () => void; export declare function kebab(s: string): string; export declare function styleToCss(style: CSSStyleDeclaration): string; export declare function shuffle(arr: T[]): T[]; export declare function asyncSerialMap(arr: T[], fn: (item: T, index: number, arr: T[]) => Promise): Promise; export declare function asyncSerialReduce(arr: T[], fn: (prev: U, next: T, index: number, arr: T[]) => Promise, prev: U): Promise; export declare function wait(ms: number): Promise; export declare function tick(): Promise; export declare function colorHash(string: string, minColorHex?: string): string; export declare function colorOf(id: string, sat?: number, lum?: number): string; export declare function ansiColorFor(string: string): string; export declare function removeFromArray(arr: T[], el: T, quiet?: boolean): T[] | void; export declare function chainSync(...args: (() => any)[]): () => void; export declare function shallowEqual(a: object, b: object): boolean; export declare function shallowEqualArray(a: unknown, b: unknown): boolean; export declare function getOwnProperty(object: object, name: string): any; export declare function padCenter(str: string | number, length: number): string; export declare function getStringLength(str: string | number): number; export declare function padStart(str: string | number, length: number, char?: string): string; export declare function padEnd(str: string | number, length: number, char?: string): string; export declare function repeatString(s: string, x: number): string; export declare function stripAnsi(str: string | number): string; export declare function includesAny(str: string, predicates: string[]): boolean; export declare function asyncFilter(array: T[], fn: (item: T) => Promise): Promise; export declare const defineProperty: import("to-fluent").Fluent<((object: object, name: PropertyKey, value?: T | undefined) => object), Required<{ configurable: boolean; enumerable: boolean; writable: boolean; get?(): any; set?(v: any): void; }>>; export declare function filterMap(array: T[] | readonly T[], fn: (item: T, index: number, array: T[] | readonly T[]) => U | false | null | undefined): U[]; export declare function sortCompare(a: number | string, b: number | string): 0 | 1 | -1; export declare function sortCompareKeys([a]: [string, any], [b]: [string, any]): 0 | 1 | -1; export declare function sortObjectInPlace>(data: T): T; export declare function splitAt(string: string, index: number): readonly [string, string]; export declare function memoize

(fn: Fn, map?: any): Fn; export interface Deferred { hasSettled: boolean; promise: Promise; when: (fn: () => void) => void; resolve: (value: T) => void; reject: (error?: Error) => void; value?: T; error?: Error; } export declare function Deferred(): Deferred; export declare function KeyedCache(getter: (key: V, ...args: U) => Promise, maxCacheSize?: number): ((key: V, ...args: U) => Promise) & { cache: Map; accessTime: number; }>; maxCacheSize: number; }; export declare type Promised = (...args: U) => Promise; export declare function promisify(fn: any): (this: any, ...args: any[]) => Promise; export declare class MapSet { map: Map>; constructor(mapSet?: MapSet, shallow?: boolean); copy(): any; shallowCopy(): MapSet; add(key: K, value: any): number; create(key: K): void; keys(): IterableIterator; values(): V[]; entries(): [K, V][]; get(key: K): Set | undefined; sort(key: K, compareFn?: (a: V, b: V) => number): void; delete(key: K, value: any): boolean; has(key: K, value: any): boolean; hasKey(key: K): boolean; clear(): void; get size(): number; } export declare class WeakMapSet { #private; set(key: K, value: any): number; get(key: K): Set | undefined; delete(key: K, value: any): boolean; has(key: K, value: any): boolean; } export declare class MapMap { #private; set(keyA: KA, keyB: KB, value: any): number; get(keyA: KA, keyB: KB): V | undefined; delete(keyA: KA, keyB: KB): boolean; has(keyA: KA, keyB: KB): boolean; clear(): void; } export declare class MapMapSet { #private; add(keyA: KA, keyB: KB, value: any): number; get(keyA: KA, keyB: KB): Set | undefined; delete(keyA: KA, keyB: KB, value: any): boolean; has(keyA: KA, keyB: KB, value: any): boolean; clear(): void; } export declare function mutable(array: readonly T[]): T[]; export declare class MapFactory extends Map { defaultArgs: never[]; get(key: K, ...args: any[]): V; ctor: Class; constructor(json: { entries: readonly [K, V][]; ctor: Class; }); constructor(ctor: Class, defaultData?: Partial); toJSON(): { entries: [K, V][]; ctor: Class; }; } export declare class WeakMapFactory extends WeakMap { ctor: Class; defaultArgs: never[]; get(key: K, ...args: any[]): V; constructor(ctor: Class, defaultArgs?: never[]); } export declare function isClass(fn: any): boolean; export declare function bindAll(obj: T, target?: T | U): T & U; export declare function once any) | void>(fn: T): T; export declare function checksum(str: string): number; export declare function debugObjectMethods(obj: T, ignoreKeys?: string[], hooks?: { before: (key: string, args: any[], stackErr: Error) => void; after: (key: string, args: any[], result: any) => void; }, name?: string): T; export declare function attempt(x: () => void, quiet?: boolean): void; export declare function noop(): void; export declare function modWrap(x: number, N: number): number;