/** * Checks that `Value` is assignable to `Target`. * * ```ts * expectType>(true); * expectType>(false); * ``` */ export declare type TypeOf = Exclude extends never ? true : false; /** * Checks that `Value` is equal to the same type as `Target`. * * ```ts * expectType>(true); * expectType>(false); * expectType>(false); * expectType>(true); * ``` */ export declare type TypeEqual = (() => T extends Target ? 1 : 2) extends () => T extends Value ? 1 : 2 ? true : false; /** * Asserts the `value` type is assignable to the generic `Type`. * * ```ts * expectType(123); * expectType(true); * ``` */ export declare const expectType: (value: Type) => void; /** * Asserts the `value` type is `never`, i.e. this function should never be called. * If it is called at runtime, it will throw a `TypeError`. The return type is * `never` to support returning in exhaustive type checks. * * ```ts * return expectNever(value); * ``` */ export declare const expectNever: (value: never) => never;