default: {
    createModelReference: <
        TRecord extends JsonObject,
        TVirtual extends JsonObject = JsonObject,
        TInstance extends
            JsonObject & ModelInstanceCore<TRecord, TVirtual> = ModelInstance<
            TRecord,
            TVirtual,
        >,
    >(
        tableName: string,
        staticMethods?: Record<string, (...args: unknown[]) => unknown>,
        staticProperties?: Record<string, unknown>,
    ) => ModelHandle<TRecord, TVirtual, TInstance>;
    getRegisteredModel: <
        TRecord extends JsonObject = JsonObject,
        TVirtual extends JsonObject = JsonObject,
    >(
        tableName: string,
    ) => ModelConstructor<TRecord, TVirtual>;
    referenceModel: <
        Manifest extends
            ModelManifest<
                Record<string, ModelSchemaField<unknown>>,
                boolean,
                EmptyStaticMethods,
                Record<never, InstanceMethod>,
            >,
        Methods extends StaticMethodsMap = {},
        Properties extends StaticPropertiesMap = {},
    >(
        manifest: Manifest,
        staticMethods?: Methods,
        staticProperties?: Properties,
    ) => InferConstructor<Manifest> & Methods & Properties;
    setBootstrapResolver: (resolver: BootstrapResolver) => void;
} = ...

Type declaration