import { ClassConstructor } from './ClassConstructor'; import { ValidationException } from './ValidationException'; /** * Is the value a class constructor? * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes * * @example * ```ts * isClassCtor(class Person {}) // true * isClassCtor(function () {}) // false * ``` * * @param value the value to check * @returns a boolean indicating whether the value is the expected type */ export declare const isClassCtor: (value: unknown | ClassConstructor) => value is ClassConstructor; /** * Validate that the value is a class constructor. * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes * * @example * ```ts * validateClassCtor(class Person {}) // null * validateClassCtor(function () {}) // ValidationException * ``` * * @param value the value to check * @returns `null` if the value is the expected type or a `ValidationException` * if not */ export declare const validateClassCtor: (value: unknown) => ValidationException | null; /** * Assert that the value is a class constructor. * See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes * * @example * ```ts * assertClassCtor(class Person {}) // void * assertClassCtor(function () {}) // throws AssertionException * ``` * * @param value the value to check * @throws an `AssertionException` if the value is not the expected type */ export declare const assertClassCtor: (value: unknown | ClassConstructor) => asserts value is ClassConstructor;