• Create a typed reference to the Team model for use in cross-model dependencies. Avoids circular imports by only importing the manifest, not the full implementation.

    Returns VersionedModelConstructor<
        InferData<
            {
                canonicalSlugName: StringType<false>;
                confersPermissions: ObjectType<unknown, false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: ObjectType<MultilingualRichText, false>;
                id: StringType<false>;
                modApprovalToJoin: BooleanType<false>;
                motto: ObjectType<string, false>;
                name: ObjectType<string, false>;
                onlyModsCanBlog: BooleanType<false>;
                originalLanguage: StringType<false>;
                reviewCount: VirtualType<number, false>;
                reviewOffsetDate: VirtualType<Date, false>;
                rules: ObjectType<MultilingualRichText, false>;
                urlID: VirtualType<unknown, false>;
                userCanBlog: VirtualType<unknown, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanJoin: VirtualType<unknown, false>;
                userCanLeave: VirtualType<unknown, false>;
                userIsFounder: VirtualType<unknown, false>;
                userIsMember: VirtualType<unknown, false>;
                userIsModerator: VirtualType<unknown, false>;
            },
        >,
        InferVirtual<
            {
                canonicalSlugName: StringType<false>;
                confersPermissions: ObjectType<unknown, false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: ObjectType<MultilingualRichText, false>;
                id: StringType<false>;
                modApprovalToJoin: BooleanType<false>;
                motto: ObjectType<string, false>;
                name: ObjectType<string, false>;
                onlyModsCanBlog: BooleanType<false>;
                originalLanguage: StringType<false>;
                reviewCount: VirtualType<number, false>;
                reviewOffsetDate: VirtualType<Date, false>;
                rules: ObjectType<MultilingualRichText, false>;
                urlID: VirtualType<unknown, false>;
                userCanBlog: VirtualType<unknown, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanJoin: VirtualType<unknown, false>;
                userCanLeave: VirtualType<unknown, false>;
                userIsFounder: VirtualType<unknown, false>;
                userIsMember: VirtualType<unknown, false>;
                userIsModerator: VirtualType<unknown, false>;
            },
        >,
        InferData<
            {
                canonicalSlugName: StringType<false>;
                confersPermissions: ObjectType<unknown, false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: ObjectType<MultilingualRichText, false>;
                id: StringType<false>;
                modApprovalToJoin: BooleanType<false>;
                motto: ObjectType<string, false>;
                name: ObjectType<string, false>;
                onlyModsCanBlog: BooleanType<false>;
                originalLanguage: StringType<false>;
                reviewCount: VirtualType<number, false>;
                reviewOffsetDate: VirtualType<Date, false>;
                rules: ObjectType<MultilingualRichText, false>;
                urlID: VirtualType<unknown, false>;
                userCanBlog: VirtualType<unknown, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanJoin: VirtualType<unknown, false>;
                userCanLeave: VirtualType<unknown, false>;
                userIsFounder: VirtualType<unknown, false>;
                userIsMember: VirtualType<unknown, false>;
                userIsModerator: VirtualType<unknown, false>;
            },
        > & InferVirtual<
            {
                canonicalSlugName: StringType<false>;
                confersPermissions: ObjectType<unknown, false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: ObjectType<MultilingualRichText, false>;
                id: StringType<false>;
                modApprovalToJoin: BooleanType<false>;
                motto: ObjectType<string, false>;
                name: ObjectType<string, false>;
                onlyModsCanBlog: BooleanType<false>;
                originalLanguage: StringType<false>;
                reviewCount: VirtualType<number, false>;
                reviewOffsetDate: VirtualType<Date, false>;
                rules: ObjectType<MultilingualRichText, false>;
                urlID: VirtualType<unknown, false>;
                userCanBlog: VirtualType<unknown, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanJoin: VirtualType<unknown, false>;
                userCanLeave: VirtualType<unknown, false>;
                userIsFounder: VirtualType<unknown, false>;
                userIsMember: VirtualType<unknown, false>;
                userIsModerator: VirtualType<unknown, false>;
            },
        > & ModelInstanceCore<
            InferData<
                {
                    canonicalSlugName: StringType<false>;
                    confersPermissions: ObjectType<unknown, false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: ObjectType<MultilingualRichText, false>;
                    id: StringType<false>;
                    modApprovalToJoin: BooleanType<false>;
                    motto: ObjectType<string, false>;
                    name: ObjectType<string, false>;
                    onlyModsCanBlog: BooleanType<false>;
                    originalLanguage: StringType<false>;
                    reviewCount: VirtualType<number, false>;
                    reviewOffsetDate: VirtualType<Date, false>;
                    rules: ObjectType<MultilingualRichText, false>;
                    urlID: VirtualType<unknown, false>;
                    userCanBlog: VirtualType<unknown, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanJoin: VirtualType<unknown, false>;
                    userCanLeave: VirtualType<unknown, false>;
                    userIsFounder: VirtualType<unknown, false>;
                    userIsMember: VirtualType<unknown, false>;
                    userIsModerator: VirtualType<unknown, false>;
                },
            >,
            InferVirtual<
                {
                    canonicalSlugName: StringType<false>;
                    confersPermissions: ObjectType<unknown, false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: ObjectType<MultilingualRichText, false>;
                    id: StringType<false>;
                    modApprovalToJoin: BooleanType<false>;
                    motto: ObjectType<string, false>;
                    name: ObjectType<string, false>;
                    onlyModsCanBlog: BooleanType<false>;
                    originalLanguage: StringType<false>;
                    reviewCount: VirtualType<number, false>;
                    reviewOffsetDate: VirtualType<Date, false>;
                    rules: ObjectType<MultilingualRichText, false>;
                    urlID: VirtualType<unknown, false>;
                    userCanBlog: VirtualType<unknown, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanJoin: VirtualType<unknown, false>;
                    userCanLeave: VirtualType<unknown, false>;
                    userIsFounder: VirtualType<unknown, false>;
                    userIsMember: VirtualType<unknown, false>;
                    userIsModerator: VirtualType<unknown, false>;
                },
            >,
        > & RevisionFieldMap & {} & TeamInstanceMethodsMap,
        "members"
        | "moderators",
    > & TeamStaticMethodsMap & CreateFromRowStatic<
        MergeManifestMethods<
            {
                camelToSnake: {
                    canonicalSlugName: "canonical_slug_name";
                    confersPermissions: "confers_permissions";
                    createdBy: "created_by";
                    createdOn: "created_on";
                    modApprovalToJoin: "mod_approval_to_join";
                    onlyModsCanBlog: "only_mods_can_blog";
                    originalLanguage: "original_language";
                };
                hasRevisions: true;
                relations: readonly [
                    {
                        cardinality: "many";
                        hasRevisions: false;
                        name: "members";
                        sourceKey: "id";
                        targetKey: "id";
                        targetTable: "users";
                        through: {
                            sourceForeignKey: "team_id";
                            table: "team_members";
                            targetForeignKey: "user_id";
                        };
                    },
                    {
                        cardinality: "many";
                        hasRevisions: false;
                        name: "moderators";
                        sourceKey: "id";
                        targetKey: "id";
                        targetTable: "users";
                        through: {
                            sourceForeignKey: "team_id";
                            table: "team_moderators";
                            targetForeignKey: "user_id";
                        };
                    },
                ];
                schema: {
                    canonicalSlugName: StringType<false>;
                    confersPermissions: ObjectType<unknown, false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: ObjectType<MultilingualRichText, false>;
                    id: StringType<false>;
                    modApprovalToJoin: BooleanType<false>;
                    motto: ObjectType<string, false>;
                    name: ObjectType<string, false>;
                    onlyModsCanBlog: BooleanType<false>;
                    originalLanguage: StringType<false>;
                    reviewCount: VirtualType<number, false>;
                    reviewOffsetDate: VirtualType<Date, false>;
                    rules: ObjectType<MultilingualRichText, false>;
                    urlID: VirtualType<unknown, false>;
                    userCanBlog: VirtualType<unknown, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanJoin: VirtualType<unknown, false>;
                    userCanLeave: VirtualType<unknown, false>;
                    userIsFounder: VirtualType<unknown, false>;
                    userIsMember: VirtualType<unknown, false>;
                    userIsModerator: VirtualType<unknown, false>;
                };
                tableName: "teams";
            },
            TeamStaticMethodsMap,
            TeamInstanceMethodsMap,
        >,
    >