import { Observable } from 'rxjs/Observable'; import { isArray } from 'rxjs/util/isArray'; import { isFunction } from 'rxjs/util/isFunction'; import { JsonMap } from '../json/json.utils'; declare function _isString(aValue: any): aValue is string; /** * Tests if a value is a number value * * @param aValue the value * @return true if the value is number, else false */ declare function _isNumber(aValue: any): aValue is number; /** * Tests if a value is a date * * @param aValue the value * @return true if the value is date, else false */ declare function _isDate(aValue: any): aValue is Date; /** * Tests if a value is a boolean value * * @param aValue the value * @return true if the value is boolean, else false */ declare function _isBoolean(aValue: any): aValue is boolean; declare function _isUndefined(aObject: any): aObject is undefined; declare function _isNil(aObject: any): aObject is null | undefined; declare function _isNotNil(aObject: any): boolean; declare function _isPlainObject(aObject: any): aObject is JsonMap; declare function _isObservable(aValue: any): aValue is Observable; /** * Tests if a URL is an absolute URL * * @param aUrl the URL string * @return true if the URL is absolute, else false */ declare function _isAbsoluteUrl(aUrl: string): boolean; export declare type IsPredicate = (aValue: any) => aValue is T; /** * Tests if all elements of the array are of a particular type * * @param aValue the value to test * @param aPredicate the predicate to test each element with * * @return true if the value is an array and all elements are of the specific type */ declare function _isArrayOf(aValue: any, aPredicate: IsPredicate): aValue is T[]; /** * Tests if all elements of the array are of type string * * @param aValue the value to test * @param aPredicate the predicate to test each element with * * @return true if the value is an array and all elements are of the specific type */ declare function _isStringArray(aValue: any): aValue is string[]; /** * Tests if all fields of an object are of a particular type * * @param aValue the value to test * @param aPredicate the predicate to test each element with * * @return true if the value is an array and all elements are of the specific type */ declare function _isObjectOf(aValue: any, aPredicate: IsPredicate): aValue is { [key: string]: T; }; /** * Tests if all fields of an object are of a particular type * * @param aValue the value to test * @param aPredicate the predicate to test each element with * * @return true if the value is an array and all elements are of the specific type */ declare function _isParseableAsDate(aValue: any): aValue is string | number | Date; export declare type Predicate = (aValue: T) => boolean; export declare type EqualsPredicate = (aLeft: T, aRight: T) => boolean; export { _isNil as isNil, _isNotNil as isNotNil, _isUndefined as isUndefined, _isString as isString, _isNumber as isNumber, _isBoolean as isBoolean, _isObservable as isObservable, _isAbsoluteUrl as isAbsoluteURL, isArray, isFunction, _isDate as isDate, _isParseableAsDate as isParseableAsDate, _isPlainObject as isPlainObject, _isStringArray as isStringArray, _isArrayOf as isArrayOf, _isObjectOf as isObjectOf };