Type Alias ManifestModel<Manifest, StaticMethods, InstanceMethods>

Convenience helper to infer model constructor type from a manifest with additional methods.

This is much cleaner than manually calling InferConstructor<MergeManifestMethods<...>>. Use this in your manifest file to define the model constructor type.

Type Parameters

  • Manifest extends ModelManifest

    The model manifest

  • StaticMethods extends object = EmptyStaticMethods

    Additional static methods (optional, defaults to no methods)

  • InstanceMethods extends object = Record<never, InstanceMethod>

    Additional instance methods (optional, defaults to no methods)

// In models/manifests/review.ts
export type ReviewModel = ManifestModel<
typeof reviewManifest,
ReviewStaticMethods,
ReviewInstanceMethods
>;