// Generated by dts-bundle-generator v9.5.1 type AnyArgs = any[]; type AnyArray = T[] | readonly T[] | (ArrayBufferView & { length: number; }); type Split = S extends `${infer U}${infer V}` ? [ U, ...Split ] : [ ]; type IndexesOfArray = Exclude; type StrLen = S extends `${string}${infer Rest}` ? StrLen : Acc["length"]; type Falsey = false | 0 | "" | null | undefined | 0n; export type Cond = (x1?: any, x2?: any, x3?: any) => boolean; export interface AnyObject extends Record { } export type Reducer = (accum: T, cur: any, index: number) => T; export type AnyFunc = (...args: Args) => ReturnT; export type Curried = (arg: Args[number]) => Curried | ReturnT; export type Composed = (...xs: TIn) => TOut; export type Inverse = T extends Falsey ? true : false; export type PathValue = Keys extends [ infer K, ...infer Rest ] ? K extends keyof O ? Rest extends PropertyKey[] ? PathValue : Default : Default : O; type Placeholder = symbol; export declare const __: Placeholder; export declare const curry: (fn: AnyFunc) => (...args: AnyArgs) => any; type Func2 = (a: any, b: any) => any; export declare function curry2(fn: Func): { (a: Placeholder, b: Parameters[1]): (a: Parameters[0]) => ReturnType; (a: Parameters[0], b: Placeholder): (b: Parameters[1]) => ReturnType; (a: Parameters[0]): (b: Parameters[1]) => ReturnType; (a: Parameters[0], b: Parameters[1]): ReturnType; }; type Func3 = (a: any, b: any, c: any) => any; export declare function curry3(fn: Func): (...args: AnyArgs) => any; /** One promise waits for another. */ export declare const forEachSerial: { (a: Placeholder, b: any[]): (a: AnyFunc) => Promise; (a: AnyFunc, b: Placeholder): (b: any[]) => Promise; (a: AnyFunc): (b: any[]) => Promise; (a: AnyFunc, b: any[]): Promise; }; /** Promise.all wrapper for functional pipelining. */ export declare const waitAll: (promises: Promise[]) => Promise[]>; export declare const qwaitAll: (xs: Promise[]) => Promise; /** Waits for a Promise that been generated by the first arg, then returns an untoched value. Types T. * @param {AnyFunc} fn - function to wait. * @param {T} s - any value to tap and return back * @returns {T} */ export declare const waitTap: { (a: Placeholder, b: any): (a: AnyFunc>) => Promise; (a: AnyFunc>, b: Placeholder): (b: any) => Promise; (a: AnyFunc>): (b: any) => Promise; (a: AnyFunc>, b: any): Promise; }; /** Waits for all promises mapped by the fn. */ export declare const forEachParallel: { (a: Placeholder, b: any[]): (a: (item: any) => Promise) => Promise; (a: (item: any) => Promise, b: Placeholder): (b: any[]) => Promise; (a: (item: any) => Promise): (b: any[]) => Promise; (a: (item: any) => Promise, b: any[]): Promise; }; /** The same as compose, but waits for promises in chains and returns a Promise. */ export declare const composeAsync: (...fns: AnyFunc[]) => Composed>; /** * @param cond async (v, k) -> boolean. * @param data T extends any[] | AnyObject. * @returns T */ export declare const qfilterAsync: { (a: Placeholder, b: any[] | AnyObject): (a: (v: any, k: string | number) => Promise | boolean) => Promise; (a: (v: any, k: string | number) => Promise | boolean, b: Placeholder): (b: any[] | AnyObject) => Promise; (a: (v: any, k: string | number) => Promise | boolean): (b: any[] | AnyObject) => Promise; (a: (v: any, k: string | number) => Promise | boolean, b: any[] | AnyObject): Promise; }; declare const length$1: (s: T) => T extends string ? StrLen : T["length"]; export declare const symbol: unique symbol; export declare const toLower: (s: string) => string; export declare const toUpper: (s: string) => string; export declare const type: (s: any) => string; export declare const typeIs: { (a: Placeholder, b: any): (a: string) => boolean; (a: string, b: Placeholder): (b: any) => boolean; (a: string): (b: any) => boolean; (a: string, b: any): boolean; }; export declare const eq: { (a: Placeholder, b: any): (a: any) => boolean; (a: any, b: Placeholder): (b: any) => boolean; (a: any): (b: any) => boolean; (a: any, b: any): boolean; }; export declare const equals: { (a: Placeholder, b: any): (a: any) => boolean; (a: any, b: Placeholder): (b: any) => boolean; (a: any): (b: any) => boolean; (a: any, b: any): boolean; }; export declare const includes: { (a: Placeholder, b: unknown[]): (a: unknown) => boolean; (a: unknown, b: Placeholder): (b: unknown[]) => boolean; (a: unknown): (b: unknown[]) => boolean; (a: unknown, b: unknown[]): boolean; }; export declare const always: (s: T) => () => T; export declare const identity: (s: T) => T; export declare const trim: (s: string) => string; export declare const qappend: { (a: Placeholder, b: any[]): (a: any) => any[]; (a: any, b: Placeholder): (b: any[]) => any[]; (a: any): (b: any[]) => any[]; (a: any, b: any[]): any[]; }; export declare const qassoc: (...args: AnyArgs) => any; export declare const qreduce: (...args: AnyArgs) => any; export declare const qmergeDeep: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; export declare const qmergeDeepX: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; export declare const qmergeDeepAdd: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; /** @param o1 <- o2 */ export declare const qmergeShallow: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; /** qmapKeys({ a: 'b' }, { a: 44 }) -> { b: 44 } removes a key when null. */ export declare const qmapKeys: { (a: Placeholder, b: AnyObject): (a: { [oldKey: string]: string | AnyFunc; }) => AnyObject; (a: { [oldKey: string]: string | AnyFunc; }, b: Placeholder): (b: AnyObject) => AnyObject; (a: { [oldKey: string]: string | AnyFunc; }): (b: AnyObject) => AnyObject; (a: { [oldKey: string]: string | AnyFunc; }, b: AnyObject): AnyObject; }; /** * @param pipe (v, i, list: T[]) -> T. * @param data T[]. * @returns T[]. */ export declare const qmap: { (a: Placeholder, b: any[] | AnyObject): (a: (s: any, i?: number, list?: any[] | AnyObject | undefined) => any) => any[] | AnyObject; (a: (s: any, i?: number, list?: any[] | AnyObject | undefined) => any, b: Placeholder): (b: any[] | AnyObject) => any[] | AnyObject; (a: (s: any, i?: number, list?: any[] | AnyObject | undefined) => any): (b: any[] | AnyObject) => any[] | AnyObject; (a: (s: any, i?: number, list?: any[] | AnyObject | undefined) => any, b: any[] | AnyObject): any[] | AnyObject; }; /** * @param cond (v, k) -> boolean. * @param data T extends AnyObject. * @returns T */ export declare const qmapObj: { (a: Placeholder, b: AnyObject): (a: (s: any, k?: string, o?: AnyObject) => any) => AnyObject; (a: (s: any, k?: string, o?: AnyObject) => any, b: Placeholder): (b: AnyObject) => AnyObject; (a: (s: any, k?: string, o?: AnyObject) => any): (b: AnyObject) => AnyObject; (a: (s: any, k?: string, o?: AnyObject) => any, b: AnyObject): AnyObject; }; /** * @param cond (v, k) -> boolean. * @param data T extends any[] | AnyObject. * @returns T */ export declare const qfilter: { (a: Placeholder, b: any[] | AnyObject): (a: (v: any, k: string | number) => boolean) => any[] | AnyObject; (a: (v: any, k: string | number) => boolean, b: Placeholder): (b: any[] | AnyObject) => any[] | AnyObject; (a: (v: any, k: string | number) => boolean): (b: any[] | AnyObject) => any[] | AnyObject; (a: (v: any, k: string | number) => boolean, b: any[] | AnyObject): any[] | AnyObject; }; export declare const qempty: (o: T) => T extends any[] ? [ ] : {}; export declare const qfreeze: (o: T) => Readonly; export declare const qfreezeShallow: (o: T) => Readonly; export declare const qprepend: { (a: Placeholder, b: any[]): (a: any) => number; (a: any, b: Placeholder): (b: any[]) => number; (a: any): (b: any[]) => number; (a: any, b: any[]): number; }; export declare const qsort: { (a: Placeholder, b: any[]): (a: (a: any, b: any) => number) => any[]; (a: (a: any, b: any) => number, b: Placeholder): (b: any[]) => any[]; (a: (a: any, b: any) => number): (b: any[]) => any[]; (a: (a: any, b: any) => number, b: any[]): any[]; }; export declare const qassocPath: (...args: AnyArgs) => any; export declare const qreverse: (arr: any[]) => any[]; export declare const qomit: { (a: Placeholder, b: AnyObject): (a: string[]) => any[] | AnyObject; (a: string[], b: Placeholder): (b: AnyObject) => any[] | AnyObject; (a: string[]): (b: AnyObject) => any[] | AnyObject; (a: string[], b: AnyObject): any[] | AnyObject; }; /** @param prop string @param pipe (data[prop]): prop_value @param data any * @returns data with prop over pipe. */ export declare const qoverProp: (...args: AnyArgs) => any; /** Slower than pick() (dictionary mode) ! it's okay when the object is already in the dic mode ! * @param props (string|number)[] * @param o AnyObject * @returns AnyObject */ export declare const qpick: { (a: Placeholder, b: AnyObject): (a: string[]) => AnyObject; (a: string[], b: Placeholder): (b: AnyObject) => AnyObject; (a: string[]): (b: AnyObject) => AnyObject; (a: string[], b: AnyObject): AnyObject; }; export declare const qslice: (...args: AnyArgs) => any; export declare const quniqWith: { (a: Placeholder, b: any[]): (a: AnyFunc) => any[]; (a: AnyFunc, b: Placeholder): (b: any[]) => any[]; (a: AnyFunc): (b: any[]) => any[]; (a: AnyFunc, b: any[]): any[]; }; export declare const quniq: (b: any[]) => any[]; export declare const qpush: { (a: Placeholder, b: any[]): (a: any) => any[]; (a: any, b: Placeholder): (b: any[]) => any[]; (a: any): (b: any[]) => any[]; (a: any, b: any[]): any[]; }; export declare const quniqBy: { (a: Placeholder, b: any[]): (a: AnyFunc) => any[]; (a: AnyFunc, b: Placeholder): (b: any[]) => any[]; (a: AnyFunc): (b: any[]) => any[]; (a: AnyFunc, b: any[]): any[]; }; export declare const isNil: (s: T) => T extends (null | undefined) ? true : false; export declare class QPromise extends Promise { private oncancel; private ff; private rj; private _cancel_data; cancel(resolve?: boolean): void; constructor(fn: AnyFunc, oncancel?: (...args: any[]) => any); } export declare const take: (argN: number) => (...args: any[]) => any; export declare const ifElse: (...args: AnyArgs) => any; export declare const when: (...args: AnyArgs) => any; export declare const compose: (...fns: AnyFunc[]) => Composed; /** @param fn AnyFunc @param context any */ export declare const bind: { (a: Placeholder, b: any): (a: any) => any; (a: any, b: Placeholder): (b: any) => any; (a: any): (b: any) => any; (a: any, b: any): any; }; export declare const nth: { (a: Placeholder, b: string | ArrayLike): (a: number) => unknown; (a: number, b: Placeholder): (b: string | ArrayLike) => unknown; (a: number): (b: string | ArrayLike) => unknown; (a: number, b: string | ArrayLike): unknown; }; export declare const slice: (...args: AnyArgs) => any; export declare const flip: (fn: T) => { (a: Placeholder, b: Parameters[0]): (a: Parameters[1]) => any; (a: Parameters[1], b: Placeholder): (b: Parameters[0]) => any; (a: Parameters[1]): (b: Parameters[0]) => any; (a: Parameters[1], b: Parameters[0]): any; }; type FirstChar = T extends `${infer First}${string}` ? Split["length"] extends 1 ? T : FirstChar : T; type HeadOverload = { (s: T): FirstChar; (s: T): T extends Array<0> ? undefined : T extends readonly [ infer U, ...any[] ] ? U : T extends (infer Y)[] ? Y : any; (s: T[]): null; }; /** @returns first element of an array or a string. */ export declare const head: HeadOverload; type Tail = T extends `${string}${infer Tail}` ? Tail : T extends "" ? "" : string; type TailOverload = { (s: T): Tail; (s: T): T extends Array<0> ? [ ] : T extends readonly [ any, ...infer U ] ? U : T; (s: T[]): null; }; /** @returns all elements of an array or a string after first one. */ export declare const tail: TailOverload; type LastChar = T extends `${string}${infer Rest}` ? (Split["length"] extends 1 ? T : LastChar) : T; type LastOverload = { (s: T): LastChar; (s: T): T extends Array<0> ? undefined : T extends readonly [ ...any[], infer U ] ? U : T extends (infer Y)[] ? Y : any; (s: T[]): null; }; /** Returns last element of an array, readonly array or a string. * @param s Array to extract that element. * @returns undefined if s is empty or last element. */ export declare const last: LastOverload; /** @param a @param b @returns a+b */ export declare const add: { (a: Placeholder, b: number): (a: number) => number; (a: number, b: Placeholder): (b: number) => number; (a: number): (b: number) => number; (a: number, b: number): number; }; /** @param a @param b @returns b-a */ export declare const subtract: { (a: Placeholder, b: number): (a: number) => number; (a: number, b: Placeholder): (b: number) => number; (a: number): (b: number) => number; (a: number, b: number): number; }; /**@param a @param b @returns a×b */ export declare const multiply: { (a: Placeholder, b: number): (a: number) => number; (a: number, b: Placeholder): (b: number) => number; (a: number): (b: number) => number; (a: number, b: number): number; }; /** @param a @param b @returns a boolean; (a: number, b: Placeholder): (b: number) => boolean; (a: number): (b: number) => boolean; (a: number, b: number): boolean; }; /** @param a @param b @returns a>b */ export declare const lt: { (a: Placeholder, b: number): (a: number) => boolean; (a: number, b: Placeholder): (b: number) => boolean; (a: number): (b: number) => boolean; (a: number, b: number): boolean; }; /** @param a @param b @returns a≤b */ export declare const gte: { (a: Placeholder, b: number): (a: number) => boolean; (a: number, b: Placeholder): (b: number) => boolean; (a: number): (b: number) => boolean; (a: number, b: number): boolean; }; /** @param a @param b @returns a≥b */ export declare const lte: { (a: Placeholder, b: number): (a: number) => boolean; (a: number, b: Placeholder): (b: number) => boolean; (a: number): (b: number) => boolean; (a: number, b: number): boolean; }; export declare const sort: { (a: Placeholder, b: unknown[]): (a: (a: unknown, b: unknown) => number) => unknown[]; (a: (a: unknown, b: unknown) => number, b: Placeholder): (b: unknown[]) => unknown[]; (a: (a: unknown, b: unknown) => number): (b: unknown[]) => unknown[]; (a: (a: unknown, b: unknown) => number, b: unknown[]): unknown[]; }; export declare const find: { (a: Placeholder, b: any[]): (a: Cond) => any; (a: Cond, b: Placeholder): (b: any[]) => any; (a: Cond): (b: any[]) => any; (a: Cond, b: any[]): any; }; export declare const findIndex: { (a: Placeholder, b: any[]): (a: Cond) => number; (a: Cond, b: Placeholder): (b: any[]) => number; (a: Cond): (b: any[]) => number; (a: Cond, b: any[]): number; }; export declare const indexOf: { (a: Placeholder, b: any[]): (a: any) => number; (a: any, b: Placeholder): (b: any[]) => number; (a: any): (b: any[]) => number; (a: any, b: any[]): number; }; export declare const divide: { (a: Placeholder, b: number): (a: number) => number; (a: number, b: Placeholder): (b: number) => number; (a: number): (b: number) => number; (a: number, b: number): number; }; type T_not = { (x: true): false; (x: false): true; (x: any): boolean; }; export declare const not: T_not; type T_keys = { (o: T): IndexesOfArray[]; (o: T): string[]; (o: T): (keyof T)[]; }; export declare const keys: T_keys; export declare const values: (o: AnyObject | any[]) => any[]; export declare const toPairs: (o: AnyObject | any[]) => [ string, any ][]; export declare const test: { (a: Placeholder, b: string): (a: RegExp) => boolean; (a: RegExp, b: Placeholder): (b: string) => boolean; (a: RegExp): (b: string) => boolean; (a: RegExp, b: string): boolean; }; type T_tap = { (fn: (x: T) => any, x: T): T; (fn: AnyFunc): { (x: T): T; (): undefined; }; }; export declare const tap: T_tap; export declare const append: { (a: Placeholder, b: any[]): (a: any) => any[]; (a: any, b: Placeholder): (b: any[]) => any[]; (a: any): (b: any[]) => any[]; (a: any, b: any[]): any[]; }; export declare const prepend: { (a: Placeholder, b: any[]): (a: any) => any[]; (a: any, b: Placeholder): (b: any[]) => any[]; (a: any): (b: any[]) => any[]; (a: any, b: any[]): any[]; }; export declare const flat: (xs: any[]) => any[]; export declare const flatShallow: (xs: any[]) => any[]; export declare const flatTo: { (a: Placeholder, b: any[]): (a: number) => any[]; (a: number, b: Placeholder): (b: any[]) => any[]; (a: number): (b: any[]) => any[]; (a: number, b: any[]): any[]; }; export declare const split: { (a: Placeholder, b: string): (a: string | RegExp) => string[]; (a: string | RegExp, b: Placeholder): (b: string) => string[]; (a: string | RegExp): (b: string) => string[]; (a: string | RegExp, b: string): string[]; }; export declare const T: (...args: any[]) => true; export declare const F: (...args: any[]) => false; export declare const callWith: { (a: Placeholder, b: AnyFunc): (a: any[]) => any; (a: any[], b: Placeholder): (b: AnyFunc) => any; (a: any[]): (b: AnyFunc) => any; (a: any[], b: AnyFunc): any; }; export declare const noop: (...args: any[]) => any; /** Calls a func from object. * @param {any[]} args - arguments for the function. * @param {string} fnName - property name of the function. * @param {AnyObject} o - the object with the function. */ export declare const callFrom: (...args: AnyArgs) => any; type T_complement = { (...args: Parameters): ReturnType extends AnyFunc ? T_complement> : boolean; }; export declare const complement: (fn: F) => T_complement; export declare const sizeof: (s: any[] | string | AnyObject) => number; export declare const range: { (a: Placeholder, b: number): (a: number) => any[]; (a: number, b: Placeholder): (b: number) => any[]; (a: number): (b: number) => any[]; (a: number, b: number): any[]; }; /** @param cond (x, y): bool @param xs any[] @returns xs without duplicates, using cond as a comparator. */ export declare const uniqWith: { (a: Placeholder, b: any[]): (a: (x: any, y: any) => boolean) => any; (a: (x: any, y: any) => boolean, b: Placeholder): (b: any[]) => any; (a: (x: any, y: any) => boolean): (b: any[]) => any; (a: (x: any, y: any) => boolean, b: any[]): any; }; /** @param xs any[] @returns xs without duplicates. */ export declare const uniq: (b: any[]) => any; export declare const intersection: { (a: Placeholder, b: any[]): (a: any[]) => any[]; (a: any[], b: Placeholder): (b: any[]) => any[]; (a: any[]): (b: any[]) => any[]; (a: any[], b: any[]): any[]; }; export declare const diff: { (a: Placeholder, b: any[]): (a: any[]) => any[]; (a: any[], b: Placeholder): (b: any[]) => any[]; (a: any[]): (b: any[]) => any[]; (a: any[], b: any[]): any[]; }; export declare const genBy: { (a: Placeholder, b: number): (a: (i: number) => any) => any[]; (a: (i: number) => any, b: Placeholder): (b: number) => any[]; (a: (i: number) => any): (b: number) => any[]; (a: (i: number) => any, b: number): any[]; }; export declare const once: (fn: Func) => (...args: Parameters) => ReturnType; export declare const reverse: (xs: T[]) => T[]; export declare const explore: (caption: string, level?: string) => { (x: T): T; (): undefined; }; export declare const cond: { (a: Placeholder, b: any): (a: [ Cond, Function ][]) => any; (a: [ Cond, Function ][], b: Placeholder): (b: any) => any; (a: [ Cond, Function ][]): (b: any) => any; (a: [ Cond, Function ][], b: any): any; }; /** Assigns a prop to an object. * @param prop string * @param value any * @param object AnyObject */ export declare const assoc: (...args: AnyArgs) => any; export declare const assocPath: (...args: AnyArgs) => any; export declare const all: { (a: Placeholder, b: any[]): (a: Cond) => boolean; (a: Cond, b: Placeholder): (b: any[]) => boolean; (a: Cond): (b: any[]) => boolean; (a: Cond, b: any[]): boolean; }; export declare const any: { (a: Placeholder, b: any[]): (a: Cond) => boolean; (a: Cond, b: Placeholder): (b: any[]) => boolean; (a: Cond): (b: any[]) => boolean; (a: Cond, b: any[]): boolean; }; export declare const allPass: { (a: Placeholder, b: any): (a: Cond[]) => boolean; (a: Cond[], b: Placeholder): (b: any) => boolean; (a: Cond[]): (b: any) => boolean; (a: Cond[], b: any): boolean; }; export declare const anyPass: { (a: Placeholder, b: any): (a: Cond[]) => boolean; (a: Cond[], b: Placeholder): (b: any) => boolean; (a: Cond[]): (b: any) => boolean; (a: Cond[], b: any): boolean; }; /** @param start string | any[] @param s string | any[] @description detects if `s` starts with `start` */ export declare const startsWith: { (a: Placeholder, b: string | any[]): (a: string | any[]) => boolean; (a: string | any[], b: Placeholder): (b: string | any[]) => boolean; (a: string | any[]): (b: string | any[]) => boolean; (a: string | any[], b: string | any[]): boolean; }; /** @param start string | any[] @param s string | any[] @description detects if `s` starts with `start` */ export declare const startsWithShallow: { (a: Placeholder, b: string | any[]): (a: string | any[]) => boolean; (a: string | any[], b: Placeholder): (b: string | any[]) => boolean; (a: string | any[]): (b: string | any[]) => boolean; (a: string | any[], b: string | any[]): boolean; }; /** @param key string @param o AnyObject @returns o[key] */ export declare const prop: { (a: Placeholder, b: AnyObject): (a: string) => any; (a: string, b: Placeholder): (b: AnyObject) => any; (a: string): (b: AnyObject) => any; (a: string, b: AnyObject): any; }; /** @param key string @param value any @param o AnyObject @returns boolean o[key] equals value */ export declare const propEq: (...args: AnyArgs) => any; /** @param key string @param o1 AnyObject @param o2 AnyObject @returns o₁[key] equals o₂[key] */ export declare const propsEq: (...args: AnyArgs) => any; export declare const pathOr: (...args: AnyArgs) => any; export declare const path: any; export declare const pathEq: (...args: AnyArgs) => any; export declare const pathsEq: (...args: AnyArgs) => any; export declare const pathExists: Composed; export declare const clone: (s: T, shallow?: boolean) => T; export declare const cloneShallow: (s: any) => any; export declare const freeze: (o: T) => Readonly; export declare const freezeShallow: (o: T) => Readonly; /** types T1, T2 * @param reducer (accum: T1, current: T2, index: number) => newAccum: T1 * @param accum T1 * @param array T2[] */ export declare const reduce: (...args: AnyArgs) => any; /** * @param props (string|number)[] * @param o AnyObject * @returns AnyObject */ export declare const pick: { (a: Placeholder, b: AnyObject): (a: (string | number)[]) => {}; (a: (string | number)[], b: Placeholder): (b: AnyObject) => {}; (a: (string | number)[]): (b: AnyObject) => {}; (a: (string | number)[], b: AnyObject): {}; }; export declare const pickBy: { (a: Placeholder, b: AnyObject): (a: Cond) => any; (a: Cond, b: Placeholder): (b: AnyObject) => any; (a: Cond): (b: AnyObject) => any; (a: Cond, b: AnyObject): any; }; export declare const omit: { (a: Placeholder, b: AnyObject): (a: string[]) => any; (a: string[], b: Placeholder): (b: AnyObject) => any; (a: string[]): (b: AnyObject) => any; (a: string[], b: AnyObject): any; }; export declare const fromPairs: (pairs: [ string, any ][]) => { [k: string]: any; }; export declare const concat: { (a: Placeholder, b: string | any[]): (a: string | any[]) => string | any[]; (a: string | any[], b: Placeholder): (b: string | any[]) => string | any[]; (a: string | any[]): (b: string | any[]) => string | any[]; (a: string | any[], b: string | any[]): string | any[]; }; export declare const map: { (a: Placeholder, b: any[]): (a: (s: any, i?: number, list?: any[]) => any) => any[]; (a: (s: any, i?: number, list?: any[]) => any, b: Placeholder): (b: any[]) => any[]; (a: (s: any, i?: number, list?: any[]) => any): (b: any[]) => any[]; (a: (s: any, i?: number, list?: any[]) => any, b: any[]): any[]; }; export declare const mapObj: { (a: Placeholder, b: AnyObject): (a: (s: any, i?: string, list?: any[]) => any) => AnyObject; (a: (s: any, i?: string, list?: any[]) => any, b: Placeholder): (b: AnyObject) => AnyObject; (a: (s: any, i?: string, list?: any[]) => any): (b: AnyObject) => AnyObject; (a: (s: any, i?: string, list?: any[]) => any, b: AnyObject): AnyObject; }; export declare const join: { (a: Placeholder, b: ArrayLike & { join: AnyFunc; }): (a: string) => string; (a: string, b: Placeholder): (b: ArrayLike & { join: AnyFunc; }) => string; (a: string): (b: ArrayLike & { join: AnyFunc; }) => string; (a: string, b: ArrayLike & { join: AnyFunc; }): string; }; export declare const forEach: { (a: Placeholder, b: any[]): (a: (s: unknown, i: number, arr: unknown[]) => any) => void; (a: (s: unknown, i: number, arr: unknown[]) => any, b: Placeholder): (b: any[]) => void; (a: (s: unknown, i: number, arr: unknown[]) => any): (b: any[]) => void; (a: (s: unknown, i: number, arr: unknown[]) => any, b: any[]): void; }; export declare const both: (...args: AnyArgs) => any; export declare const isEmpty: (s: any) => boolean | null; export declare const empty: (s: any) => {} | undefined; export declare const replace: (...args: AnyArgs) => any; export declare const filter: { (a: Placeholder, b: any[] | AnyObject): (a: (v: any, k: string | number) => boolean) => any; (a: (v: any, k: string | number) => boolean, b: Placeholder): (b: any[] | AnyObject) => any; (a: (v: any, k: string | number) => boolean): (b: any[] | AnyObject) => any; (a: (v: any, k: string | number) => boolean, b: any[] | AnyObject): any; }; /** Saves result of a function with given key and avoids calling it again. * @param {(...args: Args) string} keyGen that takes the same args and returns a key for the cache. * @param {(...args: Args) any} fn to be cached. */ export declare const memoize: { (a: Placeholder, b: AnyFunc): (a: (...args: any[]) => string) => (...args: any[]) => ReturnType>; (a: (...args: any[]) => string, b: Placeholder): (b: AnyFunc) => (...args: any[]) => ReturnType>; (a: (...args: any[]) => string): (b: AnyFunc) => (...args: any[]) => ReturnType>; (a: (...args: any[]) => string, b: AnyFunc): (...args: any[]) => ReturnType>; }; export declare const mergeShallow: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; export declare const mergeDeep: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; export declare const mergeDeepX: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; export declare const mergeDeepAdd: { (a: Placeholder, b: AnyObject): (a: AnyObject) => AnyObject; (a: AnyObject, b: Placeholder): (b: AnyObject) => AnyObject; (a: AnyObject): (b: AnyObject) => AnyObject; (a: AnyObject, b: AnyObject): AnyObject; }; /** * @param prop string * @param pipe(data[prop]) * @param data any * @returns data with prop over pipe. */ export declare const overProp: (...args: AnyArgs) => any; /** mapKeys({ a: 'b' }, { a: 44 }) -> { b: 44 } */ export declare const mapKeys: { (a: Placeholder, b: AnyObject): (a: { [oldKey: string]: string | AnyFunc; }) => AnyObject; (a: { [oldKey: string]: string | AnyFunc; }, b: Placeholder): (b: AnyObject) => AnyObject; (a: { [oldKey: string]: string | AnyFunc; }): (b: AnyObject) => AnyObject; (a: { [oldKey: string]: string | AnyFunc; }, b: AnyObject): AnyObject; }; export declare const zip: { (a: Placeholder, b: unknown[]): (a: unknown[]) => any[]; (a: unknown[], b: Placeholder): (b: unknown[]) => any[]; (a: unknown[]): (b: unknown[]) => any[]; (a: unknown[], b: unknown[]): any[]; }; export declare const zipObj: { (a: Placeholder, b: unknown[]): (a: unknown[]) => any; (a: unknown[], b: Placeholder): (b: unknown[]) => any; (a: unknown[]): (b: unknown[]) => any; (a: unknown[], b: unknown[]): any; }; /** zips through a pipe. Types T1, T2, T3. * @returns T3[] * @param pipe (T1, T2) => T3 * @param a T1[] * @param b T2[] */ export declare const zipWith: (...args: AnyArgs) => any; export declare const mirror: (s: T) => T; export declare const reflect: (s: T) => T; export declare const echo: (s: T) => T; export declare const notf: (fn: F) => T_complement; export declare const push: { (a: Placeholder, b: any[]): (a: any) => any[]; (a: any, b: Placeholder): (b: any[]) => any[]; (a: any): (b: any[]) => any[]; (a: any, b: any[]): any[]; }; export declare const some: { (a: Placeholder, b: any[]): (a: Cond) => boolean; (a: Cond, b: Placeholder): (b: any[]) => boolean; (a: Cond): (b: any[]) => boolean; (a: Cond, b: any[]): boolean; }; export declare const weakEq: { (a: Placeholder, b: any): (a: any) => boolean; (a: any, b: Placeholder): (b: any) => boolean; (a: any): (b: any) => boolean; (a: any, b: any): boolean; }; export declare const uniqBy: { (a: Placeholder, b: any[]): (a: (x: any, y: any) => boolean) => any; (a: (x: any, y: any) => boolean, b: Placeholder): (b: any[]) => any; (a: (x: any, y: any) => boolean): (b: any[]) => any; (a: (x: any, y: any) => boolean, b: any[]): any; }; export declare const propLens: (...args: AnyArgs) => any; type StrTmpl = ((data: AnyObject) => string); /** Supports ecrans: '\\{"json": {yes} \\}' @returns getTmpl('one{meme}two')({meme: 42}) -> one42two */ export declare const getTmpl: (tmpl: string) => StrTmpl; export declare const debounce: (time: number, fn: T) => (...args: Parameters) => Promise>; export declare const throttle: (time: number, fn: T) => (...args: Parameters) => any; export declare const wait: (time: number) => QPromise; export declare const uncurry: (fn: Curried) => AnyFunc; export { length$1 as length, }; export {};