export declare class Preconditions { static assertCondition(assertion: boolean, message: string): void; static assert(value: T, testFunction: AssertionFunction, message: string): T; static assertEqual(value: T, expected: T, name: string): T; static assertNumber(value: any, name: string): any; static assertInstanceOf(value: any, instance: any, name: string): any; static assertString(value: any, name: string): string; static assertTypeOf(value: any, type: string, name: string, handler?: () => void): any; static assertNotNull(value: T | null, name?: string): NonNullable; static assertPresent(value: T | null, name?: string): NonNullable; static assertAbsent(value: T): void; static assertNotTypeOf(value: any, name: string, type: string): T; static assertNotInstanceOf(value: T, name: string, instance: any): T; static defaultValue(value: T | undefined | null, defaultValue: T): NonNullable; static isPresent(val: any): boolean; } export declare type AssertionFunction = (val: T) => boolean; export declare function defaultValue(value: T | undefined | null, defaultValue: T): NonNullable; export declare function notNull(value: T | null, name?: string): NonNullable; export declare function isPresent(val: any): boolean; export declare function isPresent2(val: T | null | undefined): val is Exclude;