///
import { Schema } from "@colyseus/schema";
import type { State } from "../state/state.js";
/**
* @param hookName
* @param args
* TODO: add generics, so we get types for hook names...
* @ignore
*/
export declare function executeHook(hookName: string, ...args: any[]): void;
/**
* @category Trait
*/
export declare class Entity extends Schema {
constructor(state: State, options?: Partial);
private readonly _executeHook;
create(state: State, options?: Partial): void;
}
/**
* Mixes all the base constructors prototypes into one.
* Also provides a way for Entity to automatically execute
* all of the base constructor's "Trait Constructors".
* @param derivedCtor
* @param baseCtors
*
* @category Trait
*/
export declare const applyTraitsMixins: (baseCtors: any[]) => (derivedCtor: AnyClass) => void;