/**
* @license
* Copyright 2022-2026 Matter.js Authors
* SPDX-License-Identifier: Apache-2.0
*/
/**
* A base for classes that are also functions.
*/
export interface Callable {
(...args: A): R;
}
// oxlint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
export class Callable {
/**
* Create a new invocable
*/
constructor(invoke: Callable) {
Object.setPrototypeOf(invoke, new.target.prototype);
return invoke;
}
}