export declare class ObjectUtils {
    /**
     * Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.
     * @param values Rest parameters with all objects to check existence for.
     * @returns True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)
     */
    static AllExist(...values: any[]): boolean;
    static GetShallowClone(originalObject: any, objectClass?: any): any;
    /**
     * Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.
     * Does not copy functions, only properties.
     * @param from The source object from which to copy all properties of to the 'to' object.
     * @param to The object to which the properties of the 'from' object will be copied.
     * @param [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.
     */
    static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined?: boolean): T;
    /**
     * Returns the display value of the given property on the given object, as a string (== the string representation of the property value).
     * Does not return null or undefined, but returns the given defaultValue instead.
     */
    static GetDisplayValueOfPropertyOn(object: Object, property: string, defaultValue?: string): string;
    static ForOwnProperty(plainObject: any, callback: (propVal: any, key: string) => any): void;
    static IsPlainObject(object: any): boolean;
    static DeepEquals(actual: any, expected: any): boolean;
    private static _objEquiv;
    private static _isBuffer;
    private static _isArguments;
    private static _isArgumentsWhenArgsClassNotSupported;
    private static _isArgumentsWhenArgsClassSupported;
    private static _supportsArgumentsClass;
}
