import { Object } from '@f2/ts';
export declare function extendOnly<TTo extends Object, TFrom extends object = Partial<TTo>>(to: TTo, from: TFrom, onlyKeys: (keyof TTo & keyof TFrom)[]): void;
export declare function extendExcept<TTo extends object, TFrom extends Partial<TTo>>(to: TTo, from: TFrom, exceptKeys: (keyof TFrom)[]): void;
export declare function extendIfNoExists<TTo extends Object, TFrom extends Partial<TTo>>(to: TTo, from: TFrom, onlyKeys?: (keyof TTo & keyof TFrom)[]): void;
export declare function extend<TTo>(to: TTo, ...froms: Partial<TTo>[]): TTo;
export declare function extend<TTo>(to: Partial<TTo>, ...froms: Partial<TTo>[]): TTo;
export declare function extend(to: any, ...froms: any[]): any;
