import { Dict, Omit } from './types.js'; export { default as mergeWith } from 'lodash.mergewith'; declare function omit(object: T, keys: K[]): Omit; declare function pick(object: T, keys: K[]): { [P in K]: T[P]; }; declare function split(object: T, keys: K[]): [{ [P in K]: T[P]; }, Omit]; /** * Get value from a deeply nested object using a string path. * Memorizes the value. * @param obj - the object * @param path - the string path * @param fallback - the fallback value */ declare function get(obj: Record, path: string | number, fallback?: any, index?: number): any; declare type Get = (obj: Readonly, path: string | number, fallback?: any, index?: number) => any; declare const memoize: (fn: Get) => Get; declare const memoizedGet: Get; /** * Get value from deeply nested object, based on path * It returns the path value if not found in object * * @param path - the string path or value * @param scale - the string path or value */ declare function getWithDefault(path: any, scale: any): any; declare type FilterFn = (value: any, key: string, object: T) => boolean; /** * Returns the items of an object that meet the condition specified in a callback function. * * @param object the object to loop through * @param fn The filter function */ declare function objectFilter(object: T, fn: FilterFn): Dict; declare const filterUndefined: (object: Dict) => Dict; declare const objectKeys: >(obj: T) => (keyof T)[]; /** * Object.entries polyfill for Node v10 compatibility */ declare const fromEntries: (entries: [ string, any ][]) => T; /** * Get the CSS variable ref stored in the theme */ declare const getCSSVar: (theme: Dict, scale: string, value: any) => any; export { filterUndefined, fromEntries, get, getCSSVar, getWithDefault, memoize, memoizedGet, objectFilter, objectKeys, omit, pick, split };