import type { LodashConcat } from 'lodash/fp'; import { F } from 'ts-toolbelt'; type TandThen = F.Curry<(fn: (response: any) => any, thenable: Promise) => Promise>; type Totherwise = F.Curry<(failureHandler: (error: Error | any) => any, thenable: Promise) => Promise>; type Tfinally = F.Curry<(callback: (...args: any[]) => any, thenable: Promise) => Promise>; type TinstanceOf = F.Curry<((t: any, arg: T) => boolean)>; type TmapAsync = F.Curry<((asyncMapper: (arg: T[K], key: K) => Promise, collection: T) => Promise)>; type TfilterAsync = F.Curry<((asyncFilter: (arg: T[K], key: K) => Promise, collection: T) => Promise)>; type TfindAsync = F.Curry<((asyncFilter: (arg: T[K], key: K) => Promise, collection: T) => Promise)>; type TreduceAsync = F.Curry<((asyncFn: (acc: any, arg: T[K], key: K) => Promise, initAcc: Promise | any, collection: T) => Promise)>; type Tkey = F.Curry<(obj: Record, value: any) => string>; type TtransformObjectKey = F.Curry<(transformFn: (orignStr: string) => string, obj: Record) => Record>; type Tap = F.Curry<(arg: any, curried: Function) => any>; type TnotIncludes = F.Curry<(arg: any, targetArray: any[] | Record | string) => boolean>; type TnotEquals = F.Curry<(a: any, b: any) => boolean>; type TremoveByIndex = F.Curry<((index: number | string, targetArray: R[]) => R[])>; declare function removeLast(target: string): string; declare function removeLast(target: any[]): any[]; type Tprepend = F.Curry<((arr: T[], arg: T | T[]) => T[])>; type TmapWithKey = F.Curry<((iteratee: (value: T[K], key: K) => R, collection: T) => R[])>; type TforEachWithKey = F.Curry<((iteratee: (value: T[K], key: K) => T, collection: T) => T)>; type TreduceWithKey = F.Curry<((iteratee: (acc: R, value: T[K], key: K) => R, acc: R, collection: T) => R)>; declare const _default: { mapAsync: TmapAsync; filterAsync: TfilterAsync; reduceAsync: TreduceAsync; findAsync: TfindAsync; forEachAsync: (...args: any[]) => any; promisify: (a: any, ...args: any[]) => Promise; andThen: TandThen; otherwise: Totherwise; finally: Tfinally; isPromise: (x: T) => boolean; isNotEmpty: (a: any) => boolean; isNotNil: (arg: any) => boolean; isJson: (jsonStr: string) => boolean; notEquals: TnotEquals; isNotEqual: TnotEquals; isVal: (arg: T) => boolean; isPrimitive: (arg: T) => boolean; isRef: (arg: T) => boolean; isReference: (arg: T) => boolean; not: (x: T) => boolean; notIncludes: TnotIncludes; toBool: (arg: any) => boolean; deepFreeze: (obj: Record) => Record; key: Tkey; keyByVal: Tkey; transformObjectKey: TtransformObjectKey; toCamelcase: F.Curry<(obj: Record) => Record>; toCamelKey: F.Curry<(obj: Record) => Record>; toSnakecase: F.Curry<(obj: Record) => Record>; toSnakeKey: F.Curry<(obj: Record) => Record>; toPascalcase: F.Curry<(obj: Record) => Record>; pascalCase: (str: string) => string; isDatetimeString: (dateStr: string) => boolean; ap: Tap; instanceOf: TinstanceOf; removeByIndex: TremoveByIndex; removeLast: typeof removeLast; append: LodashConcat; prepend: Tprepend; mapWithKey: TmapWithKey; mapWithIndex: TmapWithKey; forEachWithKey: TforEachWithKey; forEachWithIndex: TforEachWithKey; reduceWithKey: TreduceWithKey; reduceWithIndex: TreduceWithKey; isFalsy: (arg: any) => boolean; isTruthy: (arg: any) => boolean; getOr: import("lodash/fp").LodashGetOr; delayAsync: (ms: number) => Promise; sleep: (ms: number) => Promise; }; export default _default;