import { Option } from '../Option' ; /** Creates an empty object. Alternative for `const obj = {} as SomeObjectType`. */ export declare function makeEmpty < T > ( ) ; /** Returns the value if the given key exists, otherwise returns `undefined`. */ export declare function getUnsafe < T , K extends keyof T > ( dict , key ) ; export declare function getUnsafe < T , K extends keyof T > ( key ) ; /** Returns `Some(value)` if the given key exists, otherwise returns `None`. */ export declare function get < T , K extends keyof T > ( dict , key ) ; export declare function get < T , K extends keyof T > ( key ) ; deprecated export declare function prop < T , K extends keyof T > ( dict , key ) ; export declare function prop < T , K extends keyof T > ( key ) ; /** Converts an object into an array of `[key, value]` tuples. */ export declare function toPairs < T , K extends keyof any > ( dict ) ; /** Returns a new array that contains all values of the provided object. */ export declare function values < T extends string | number , R > ( dict ) ; /** Returns a new array that contains all keys of the provided object. */ export declare function keys < T extends Record < string , unknown > > ( dict ) ; /** Creates a new object from an array of tuples (`[key, value]`). */ export declare function fromPairs < T , K extends keyof any > ( xs ) ; /** Merges two provided objects. */ export declare function merge < A , B > ( fst , snd ) ; export declare function merge < A , B > ( snd ) ; /** Adds a property. Equivalent to merging with `{key: value}` */ export declare function set < T , K extends string | number , V > ( dict , key , value ) ; export declare function set < T , K extends string | number , V > ( key , value ) ; /** Updates a property by applying the provided function to the corresponding optional value. */ export declare function update < T , K extends keyof T , R > ( dict , key , fn ) ; export declare function update < T , K extends keyof T , R > ( key , fn ) ; /** Updates a property by applying the provided function to the corresponding value. */ export declare function updateUnsafe < T , K extends keyof T , R > ( dict , key , fn ) ; export declare function updateUnsafe < T , K extends keyof T , R > ( key , fn ) ; /** Returns a new object with the provided key deleted. */ export declare function deleteKey < T , K extends keyof T > ( dict , key ) ; export declare function deleteKey < T , K extends keyof T > ( key ) ; /** Returns a new object with the provided keys deleted. */ export declare function deleteKeys < T , K extends keyof T > ( dict , keys ) ; export declare function deleteKeys < T , K extends keyof T > ( keys ) ; /** Transforms each value in the object to a new value using the provided function. */ export declare function map < T extends Record < string , any > , R > ( dict , mapFn ) ; export declare function map < T extends Record < string , any > , R > ( mapFn ) ; /** Transforms each value in the object to a new value using the provided function (which takes two arguments: a property value and key). */ export declare function mapWithKey < T extends Record < string , any > , R > ( dict , mapFn ) ; export declare function mapWithKey < T extends Record < string , any > , R > ( mapFn ) ; /** Removes each property that doesn't satisfy the given predicate function. */ export declare function filter < T extends Record < string , any > > ( dict , predicateFn ) ; export declare function filter < T extends Record < string , any > > ( predicateFn ) ; /** Removes each property that doesn't satisfy the given predicate function (which takes two arguments: a property value and key). */ export declare function filterWithKey < T extends Record < string , any > > ( dict , predicateFn ) ; export declare function filterWithKey < T extends Record < string , any > > ( predicateFn ) ; /** Removes each property that satisfies the given predicate function. */ export declare function reject < T extends Record < string , any > > ( dict , predicateFn ) ; export declare function reject < T extends Record < string , any > > ( predicateFn ) ; /** Removes each property that satisfies the given predicate function (which takes two arguments: a property value and key). */ export declare function rejectWithKey < T extends Record < string , any > > ( dict , predicateFn ) ; export declare function rejectWithKey < T extends Record < string , any > > ( predicateFn ) ; /** Returns a new object with the provided keys selected. */ export declare function selectKeys < T , K extends keyof T > ( dict , keys ) ; export declare function selectKeys < T , K extends keyof T > ( keys ) ; /** Determines whether the given object is empty. */ export declare function isEmpty < T extends Record < string , any > > ( dict ) ; /** Determines whether the given object is not empty. */ export declare function isNotEmpty < T extends Record < string , any > > ( dict ) ;