/** Unknown function. */
export type UnknownFunction = (...args: unknown[]) => unknown;
/** Any function (purposefully as wide as possible for use with `extends X` or `is X` statements). */
export type AnyFunction = (...args: any) => any;
/** Is a value a function? */
export declare function isFunction(value: unknown): value is AnyFunction;
/** Assert that a value is a function. */
export declare function assertFunction(value: unknown): asserts value is AnyFunction;
/** Readonly unknown array that is being used as a set of arguments to a function. */
export type Arguments = readonly unknown[];
/** Function that just passes through the first argument. */
export declare function PASSTHROUGH<T>(value: T): T;
/** Function that does nothing with its arguments and always returns void. */
export declare function BLACKHOLE(...unused: Arguments): void | undefined;
