import { AnyObj } from '#types/mix.js'; export declare function pickProperties>(targetObject: T, ...sourceObjects: S[]): T; /** * Pick all properties from a `targetObject` and replace * them with getters that takes values from corresponding properties of `sourceObjects`. * This is symplified version of `pickPropertiesAsGetters()`. * * If one of `sourceObjects` is equal to `targetObject`, * from start the function will do this: * ```ts targetObject = JSON.parse(JSON.stringify(targetObject)); ``` */ export declare function pickAllPropertiesAsGetters(targetObject: T, ...sourceObjects: AnyObj[]): T; /** * Pick given properties from a `targetObject` and replace * them with getters that takes values from corresponding properties of `sourceObjects`. * * If one of `sourceObjects` is equal to `targetObject`, * from start the function will do this: * ```ts targetObject = JSON.parse(JSON.stringify(targetObject)); ``` */ export declare function pickPropertiesAsGetters>(targetObject: T, properties: { includeProperties?: K[]; excludeProperties?: K[]; }, ...sourceObjects: AnyObj[]): T; //# sourceMappingURL=pick-properties.d.ts.map