export type NotNull<T> = T extends null ? never : T;
export type Nullable<T> = T | null;
export declare function isNotNull<T>(input: Nullable<T>): input is NotNull<T>;
export declare function isNull<T>(input: Nullable<T>): input is null;
/**
 *  Return _input_ as `T` if the passed _input_ is not `null`.
 *  Otherwise, throw `TypeError` with the passed `msg`.
 */
export declare function expectNotNull<T>(input: Nullable<T>, msg: string): NotNull<T>;
/**
 *  Return _input_ as `T` if the passed _input_ is not `null`.
 *  Otherwise, throw `TypeError`.
 */
export declare function unwrapNullable<T>(input: Nullable<T>): NotNull<T>;
