import type { unknowns } from "./core"; export interface Async { /** * Async function. * @param args - Arguments. * @returns Promise. */ (...args: A): Promise; } export type AsyncPromise = Async | Promise; export type AsyncPromiseSync = Async | Promise | Sync; export type Asyncs = ReadonlyArray>; export type CallSignature = T extends (...args: infer A) => infer R ? (...args: A) => R : never; export interface Callable { /** * Function. * @param args - Arguments. * @returns Result. */ (...args: readonly any[]): T; } export type ConstructSignature = T extends new (...args: infer A) => infer I ? new (...args: A) => I : never; export interface Constructor { /** * Constructor. * @param args - Arguments. * @returns Result. */ new (...args: readonly any[]): T; } export type Promises = ReadonlyArray>; export interface Sync { /** * Function. * @param args - Arguments. * @returns Result. */ (...args: A): R; } export type Syncs = ReadonlyArray>; //# sourceMappingURL=function.d.ts.map