declare type Type = new (...args: any[]) => any;
declare class _TypeStore {
    private _types;
    constructor();
    /**
     * add a type to the store
     */
    add(key: string, type: Type): void;
    /**
     * @returns the type for the given key if registered
     */
    get(key: string): Type | null;
    /**
     * @returns the key/name for the given type if registered
     */
    getKey(type: Type): string | null;
}
export declare const $BuiltInTypeFlag: unique symbol;
export declare const TypeStore: _TypeStore;
/**
 * add to a class declaration to automatically register it to the TypeStore (required for HMR right now)
 *
 * `@registerType`
 *
 * `export class MyType extends Behaviour { ... }`
 */
export declare const registerType: (constructor: Type) => void;
export {};
