import { AnyConstructor, Dictionary, Nullable, Optional, View } from '../types'; /** * @ignore */ export type PrimitiveType = 'boolean' | 'function' | 'number' | 'object' | 'string' | 'symbol' | 'undefined'; /** * @ignore */ export type VerifiableType = PrimitiveType | AnyConstructor; /** * @ignore */ export type PropertyShape = { type: VerifiableType; optional: boolean; }; /** * @ignore */ export type ObjectShape = Dictionary; /** * @ignore */ export declare function is(obj: Nullable, shape: ObjectShape): obj is T; /** * @ignore */ export declare function as(obj: Nullable, shape: ObjectShape): Optional; /** * @ignore */ export declare function hasNull(value: T, key: K): value is T & View;