/** * @module Utilities */ /** * IMPORT_PATH: `"@daiso-tech/core/utilities"` */ export type InvocableFn = Array, TReturn = unknown> = (...args: TArgs) => TReturn; /** * IMPORT_PATH: `"@daiso-tech/core/utilities"` */ export type IInvocableObject = Array, TReturn = unknown> = { invoke(...args: TArgs): TReturn; }; /** * IMPORT_PATH: `"@daiso-tech/core/utilities"` */ export type Invocable = Array, TReturn = unknown> = InvocableFn | IInvocableObject; /** * @internal */ export declare function isInvocableObject, TReturn>(invocable: TValue | Invocable): invocable is IInvocableObject; /** * @internal */ export declare function isInvocableFn, TReturn>(invocable: TValue | Invocable): invocable is InvocableFn; /** * @internal */ export declare function isInvocable, TReturn>(invocable: TValue | Invocable): invocable is Invocable; /** * @internal */ export declare function resolveInvocable, TReturn>(invocable: Invocable): InvocableFn; /** * @internal */ export declare function callInvocable, TReturn>(invocable: Invocable, ...args: TParameters): TReturn; /** * @internal */ export declare function getInvocableName, TReturn>(invocable: Invocable): string;