declare type List = ArrayLike; interface Dictionary { [index: string]: T; } declare type PartialDeep = { [P in keyof T]?: PartialDeep; }; declare type NotVoid = {} | null | undefined; declare type ListIterator = (value: T, index: number, collection: List) => TResult; declare type ListIterateeCustom = ListIterator | string | object | [string, any] | PartialDeep; declare type ListIteratee = ListIterator | string | [string, any] | PartialDeep; declare type ObjectIterator = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult; declare type Many = T | T[]; declare type PropertyName = string | number | symbol; declare type PropertyPath = Many; declare type ObjectIterateeCustom = ObjectIterator | string | [string, any] | PartialDeep; export declare function isEmpty(value: any): any; export declare function isUndefined(value: any): any; export declare function isNull(value: any): any; export declare function isNullOrUndefined(value: any): boolean; export declare function isFunction(value: any): any; export declare function isObject(value: any): any; export declare function cloneDeep(value: any): any; export declare function clone(value: any): any; export declare function isNumber(value: any): any; export declare function isString(value: any): any; export declare function isArray(value: any): any; export declare function keyBy(collection: List | null | undefined, iteratee: any): Dictionary; export declare function get(object: any, path: PropertyPath, defaultValue?: T): T; export declare function set(object: T, path: PropertyPath, value: any): T; export declare function findKey(object: any, predicate: any): any; export declare function findIndex(collection: any, predicate: any): any; export declare function includes(collection: any, predicate: any): any; export declare function find(collection: List | null | undefined, predicate: ListIterateeCustom, fromIndex?: number): T; export declare function filter(collection: any, predicate?: any): any; export declare function some(collection: List | null | undefined, predicate?: ListIterateeCustom): boolean; export declare function some(collection: T | null | undefined, predicate?: ObjectIterateeCustom): boolean; export declare function remove(object: any, predicate: any): any; export declare function forEach(collection: any, iteratee: any): any; export declare function map(collection: any, iteratee: any): any; export declare function flatten(collection: any, isDeep?: any): any; export declare function merge(collection: any, iteratee: any): any; export declare function assign(object: any, ...otherArgs: any[]): any; export declare function zipObject(collection: any): any; export declare function chunk(array: any, size: any): any; export declare function sortBy(collection: List | null | undefined, iteratee: ListIteratee): T[]; export declare function orderBy(collection: List | null | undefined, iteratee: ListIteratee | string[], orders?: string[]): T[]; export declare function splitTwo(array: any[], firstSize: number): any[][]; export declare function union(...arrays: any[]): any; export declare function uniq(collection: List | null | undefined): T[]; export declare function uniqBy(collection: List | null | undefined, iteratee: ListIteratee): T[]; export declare function sumBy(collection: List | null | undefined, iteratee: ListIteratee): number; export declare function pick(object: any, path: string | string[]): any; export declare function take(collection: List | null | undefined, size: number): T[]; export declare function takeRight(collection: List | null | undefined, size: number): T[]; export declare function groupBy(collection: List | null | undefined, iteratee: ListIteratee): Dictionary; export declare function round(number: number, precision?: number): number; export declare function difference(array: List, compareArray: List): any; export declare function every(collection: any, predicate?: any): any; export {};