import type { AnyRecord } from './AnyRecord.js';
import type { ValueOf } from './ValueOf.js';
/**
 * An Object-specific version of `map`.
 * Original source:
 * <https://stackoverflow.com/questions/53964071/how-to-dynamically-create-mapped-type-in-typescript>
 *
 * `ramda` has a similar function (`mapObjIndexed()`) with different parameter order.
 * I keep this parameter order because this parameter order provides better type inference.
 */
export declare function mapProperties<Subject extends AnyRecord, ResultProp>(subject: Subject, callbackfn: (value: ValueOf<Subject>, key: keyof Subject, obj: Subject) => ResultProp): {
    [K in keyof Subject]: ResultProp;
};
//# sourceMappingURL=mapProperties.d.ts.map