import { PlainObject, CollectionIteratee, KeyIteratee } from "./types";
/**
 * The opposite of `mapValue` this method creates an object with the
 * same values as `object` and keys generated by running each own enumerable
 * string keyed property of `object` thru `iteratee`. The iteratee is invoked
 * with three arguments: (value, key, object).
 *
 * @since 5.11.0
 * @category Object
 * @param object The object to iterate over.
 * @param iteratee The function invoked per iteration.
 * @returns Returns the new mapped object.
 * @see [[mapValue]]
 * @example
 *
 * ```js
 * mapKey({ 'a': 1, 'b': 2 }, function(value, key) {
 *   return key + value
 * })
 * // => { 'a1': 1, 'b2': 2 }
 * ```
 */
export declare function mapKeys<T>(object: PlainObject<T>, iteratee: KeyIteratee): PlainObject;
export declare function mapKeys<T>(object: PlainObject<T>, iteratee: CollectionIteratee<T>): PlainObject;
export default mapKeys;
