import { AbstractControl } from '@angular/forms'; import { Observable } from 'rxjs/Observable'; export declare type SchemaPrimitiveType = 'string' | 'number' | 'integer' | 'boolean' | 'null'; export declare type SchemaType = 'string' | 'number' | 'integer' | 'boolean' | 'null' | 'object' | 'array'; export declare type JavaScriptPrimitiveType = 'string' | 'number' | 'boolean' | 'null' | 'undefined'; export declare type JavaScriptType = 'string' | 'number' | 'boolean' | 'null' | 'undefined' | 'object' | 'array' | 'map' | 'set' | 'arguments' | 'date' | 'error' | 'function' | 'json' | 'math' | 'regexp'; export declare type PrimitiveValue = string | number | boolean | null | undefined; export interface PlainObject { [k: string]: any; } export declare type IValidatorFn = (c: AbstractControl, i?: boolean) => PlainObject; export declare type AsyncIValidatorFn = (c: AbstractControl, i?: boolean) => any; export declare function _executeValidators(control: any, validators: any, invert?: boolean): any; export declare function _executeAsyncValidators(control: any, validators: any, invert?: boolean): any; export declare function _mergeObjects(...objects: any[]): PlainObject; export declare function _mergeErrors(arrayOfErrors: any): PlainObject; export declare function isDefined(value: any): boolean; export declare function hasValue(value: any): boolean; export declare function isEmpty(value: any): boolean; export declare function isString(value: any): boolean; export declare function isNumber(value: any, strict?: any): boolean; export declare function isInteger(value: any, strict?: any): boolean; export declare function isBoolean(value: any, option?: any): boolean; export declare function isFunction(item: any): boolean; export declare function isObject(item: any): boolean; export declare function isArray(item: any): boolean; export declare function isDate(item: any): boolean; export declare function isMap(item: any): boolean; export declare function isSet(item: any): boolean; export declare function isSymbol(item: any): boolean; export declare function getType(value: any, strict?: any): "null" | "array" | "object" | "boolean" | "integer" | "number" | "string"; export declare function isType(value: any, type: any): boolean; export declare function isPrimitive(value: any): boolean; export declare function toJavaScriptType(value: any, types: any, strictIntegers?: boolean): any; export declare function toSchemaType(value: any, types: any): any; export declare function isPromise(object: any): object is Promise; export declare function isObservable(object: any): object is Observable; export declare function _toPromise(object: any): Promise; export declare function toObservable(object: any): Observable; export declare function inArray(item: any, array: any, allIn?: boolean): any; export declare function xor(value1: any, value2: any): boolean;