import { Iterable } from 'ix'; export declare function isObject(value: any): value is {}; export declare function trim(obj: T, trimNull?: boolean): T; export interface RestResult { props: T; rest: Omit2; removals: R; } export declare function rest

(data: P, propsCreator?: (x: P) => T, removals?: R): RestResult; export interface NamedObject { displayName?: string; typeName?: string; name?: string; constructor?: NamedObject; } export declare function getName(source: any, undefinedValue?: string, isStatic?: boolean): string; export interface EnumPropertyDescriptor { name: string; value: number; type: T; } export declare function getEnumPropertyDescriptors(type: any): Iterable>; export declare function getEnumNames(type: any): string[]; export declare function getEnumValues(type: any): T[]; /** * Get object property name * see: http://stackoverflow.com/questions/37048274/typescript-how-to-get-objects-property-name-from-its-value * @param {p: (x: T) => any} function which returns any object property * @returns {string} property name */ export declare function getPropName(p: (x: T) => any): string; declare global { interface ObjectConstructor { isObject: typeof isObject; trim: typeof trim; rest: typeof rest; getName: typeof getName; getEnumPropertyDescriptors: typeof getEnumPropertyDescriptors; getEnumNames: typeof getEnumNames; getEnumValues: typeof getEnumValues; getPropName: typeof getPropName; } }