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