import { IKosDataModel } from '../core/kosModel';
/**
 * @kosService core.utils
 */
export type KosDataMapper<D extends object = any, T extends IKosDataModel = IKosDataModel> = (data: D, model: T) => Partial<Omit<T, keyof IKosDataModel>>;
/**
 * @kosService core.utils
 */
export type KosDataMapperUtils<D extends object, T extends IKosDataModel> = KosDataMapper<D, T>;
/**
 * Utility function that can be used to map an arbitrary data object to a model.
 *
 * @param data - the input data for the mapping function
 * @param model - the target model to map the data to
 * @param mapper - a mapping function that takes the input data and the target model and returns a partial of the target model.  The
 * results will be applied to the model.
 *
 * @kosService core.utils
 * @kosApiLevel 2
 */
export declare const mapDataToModel: <D extends object, T extends IKosDataModel>(data: D, model: T, mapper?: KosDataMapperUtils<D, T>) => void;
//# sourceMappingURL=kos-data-mapper-utils.d.ts.map