• Lazy references to related models to avoid circular imports.

    Returns ModelConstructor<
        InferData<
            {
                aboutLinks: StringType<true>;
                createdAt: DateType<false>;
                email: StringType<true>;
                id: StringType<false>;
                inviteLinkID: StringType<false>;
                ipAddress: StringType<false>;
                language: StringType<false>;
                languages: StringType<true>;
                moderatedAt: DateType<false>;
                moderatedBy: StringType<false>;
                plannedReviews: StringType<true>;
                rejectionReason: StringType<false>;
                status: StringType<false>;
                termsAccepted: BooleanType<false>;
            },
        >,
        InferVirtual<
            {
                aboutLinks: StringType<true>;
                createdAt: DateType<false>;
                email: StringType<true>;
                id: StringType<false>;
                inviteLinkID: StringType<false>;
                ipAddress: StringType<false>;
                language: StringType<false>;
                languages: StringType<true>;
                moderatedAt: DateType<false>;
                moderatedBy: StringType<false>;
                plannedReviews: StringType<true>;
                rejectionReason: StringType<false>;
                status: StringType<false>;
                termsAccepted: BooleanType<false>;
            },
        >,
        InferData<
            {
                aboutLinks: StringType<true>;
                createdAt: DateType<false>;
                email: StringType<true>;
                id: StringType<false>;
                inviteLinkID: StringType<false>;
                ipAddress: StringType<false>;
                language: StringType<false>;
                languages: StringType<true>;
                moderatedAt: DateType<false>;
                moderatedBy: StringType<false>;
                plannedReviews: StringType<true>;
                rejectionReason: StringType<false>;
                status: StringType<false>;
                termsAccepted: BooleanType<false>;
            },
        > & InferVirtual<
            {
                aboutLinks: StringType<true>;
                createdAt: DateType<false>;
                email: StringType<true>;
                id: StringType<false>;
                inviteLinkID: StringType<false>;
                ipAddress: StringType<false>;
                language: StringType<false>;
                languages: StringType<true>;
                moderatedAt: DateType<false>;
                moderatedBy: StringType<false>;
                plannedReviews: StringType<true>;
                rejectionReason: StringType<false>;
                status: StringType<false>;
                termsAccepted: BooleanType<false>;
            },
        > & ModelInstanceCore<
            InferData<
                {
                    aboutLinks: StringType<true>;
                    createdAt: DateType<false>;
                    email: StringType<true>;
                    id: StringType<false>;
                    inviteLinkID: StringType<false>;
                    ipAddress: StringType<false>;
                    language: StringType<false>;
                    languages: StringType<true>;
                    moderatedAt: DateType<false>;
                    moderatedBy: StringType<false>;
                    plannedReviews: StringType<true>;
                    rejectionReason: StringType<false>;
                    status: StringType<false>;
                    termsAccepted: BooleanType<false>;
                },
            >,
            InferVirtual<
                {
                    aboutLinks: StringType<true>;
                    createdAt: DateType<false>;
                    email: StringType<true>;
                    id: StringType<false>;
                    inviteLinkID: StringType<false>;
                    ipAddress: StringType<false>;
                    language: StringType<false>;
                    languages: StringType<true>;
                    moderatedAt: DateType<false>;
                    moderatedBy: StringType<false>;
                    plannedReviews: StringType<true>;
                    rejectionReason: StringType<false>;
                    status: StringType<false>;
                    termsAccepted: BooleanType<false>;
                },
            >,
        > & object,
        "moderator"
        | "inviteLink",
    > & {
        checkIPRateLimit(
            ipAddress: string,
            maxRequests: number,
            windowHours: number,
        ): Promise<boolean>;
        createRequest(
            data: {
                aboutLinks: string;
                email: string;
                ipAddress?: string;
                language: string;
                languages: string;
                plannedReviews: string;
                termsAccepted: boolean;
            },
        ): Promise<
            InferData<
                {
                    aboutLinks: StringType<true>;
                    createdAt: DateType<false>;
                    email: StringType<true>;
                    id: StringType<false>;
                    inviteLinkID: StringType<false>;
                    ipAddress: StringType<false>;
                    language: StringType<false>;
                    languages: StringType<true>;
                    moderatedAt: DateType<false>;
                    moderatedBy: StringType<false>;
                    plannedReviews: StringType<true>;
                    rejectionReason: StringType<false>;
                    status: StringType<false>;
                    termsAccepted: BooleanType<false>;
                },
            > & InferVirtual<
                {
                    aboutLinks: StringType<true>;
                    createdAt: DateType<false>;
                    email: StringType<true>;
                    id: StringType<false>;
                    inviteLinkID: StringType<false>;
                    ipAddress: StringType<false>;
                    language: StringType<false>;
                    languages: StringType<true>;
                    moderatedAt: DateType<false>;
                    moderatedBy: StringType<false>;
                    plannedReviews: StringType<true>;
                    rejectionReason: StringType<false>;
                    status: StringType<false>;
                    termsAccepted: BooleanType<false>;
                },
            > & ModelInstanceCore<
                InferData<
                    {
                        aboutLinks: StringType<true>;
                        createdAt: DateType<false>;
                        email: StringType<true>;
                        id: StringType<false>;
                        inviteLinkID: StringType<false>;
                        ipAddress: StringType<false>;
                        language: StringType<false>;
                        languages: StringType<true>;
                        moderatedAt: DateType<false>;
                        moderatedBy: StringType<false>;
                        plannedReviews: StringType<true>;
                        rejectionReason: StringType<false>;
                        status: StringType<false>;
                        termsAccepted: BooleanType<false>;
                    },
                >,
                InferVirtual<
                    {
                        aboutLinks: StringType<true>;
                        createdAt: DateType<false>;
                        email: StringType<true>;
                        id: StringType<false>;
                        inviteLinkID: StringType<false>;
                        ipAddress: StringType<false>;
                        language: StringType<false>;
                        languages: StringType<true>;
                        moderatedAt: DateType<false>;
                        moderatedBy: StringType<false>;
                        plannedReviews: StringType<true>;
                        rejectionReason: StringType<false>;
                        status: StringType<false>;
                        termsAccepted: BooleanType<false>;
                    },
                >,
            > & object & {
                inviteLink?: InferData<
                    {
                        createdBy: StringType<true>;
                        createdOn: DateType<false>;
                        id: StringType<false>;
                        url: VirtualType<unknown, false>;
                        usedBy: StringType<false>;
                    },
                > & InferVirtual<
                    {
                        createdBy: StringType<true>;
                        createdOn: DateType<false>;
                        id: StringType<false>;
                        url: VirtualType<unknown, false>;
                        usedBy: StringType<false>;
                    },
                > & ModelInstanceCore<
                    InferData<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<false>;
                            id: StringType<false>;
                            url: VirtualType<unknown, false>;
                            usedBy: StringType<false>;
                        },
                    >,
                    InferVirtual<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<false>;
                            id: StringType<false>;
                            url: VirtualType<unknown, false>;
                            usedBy: StringType<false>;
                        },
                    >,
                > & object & InviteLinkRelations;
                moderator?: UserView;
            },
        >;
        getModerated(
            limit?: number,
        ): Promise<
            (
                InferData<
                    {
                        aboutLinks: StringType<true>;
                        createdAt: DateType<false>;
                        email: StringType<true>;
                        id: StringType<false>;
                        inviteLinkID: StringType<false>;
                        ipAddress: StringType<false>;
                        language: StringType<false>;
                        languages: StringType<true>;
                        moderatedAt: DateType<false>;
                        moderatedBy: StringType<false>;
                        plannedReviews: StringType<true>;
                        rejectionReason: StringType<false>;
                        status: StringType<false>;
                        termsAccepted: BooleanType<false>;
                    },
                > & InferVirtual<
                    {
                        aboutLinks: StringType<true>;
                        createdAt: DateType<false>;
                        email: StringType<true>;
                        id: StringType<false>;
                        inviteLinkID: StringType<false>;
                        ipAddress: StringType<false>;
                        language: StringType<false>;
                        languages: StringType<true>;
                        moderatedAt: DateType<false>;
                        moderatedBy: StringType<false>;
                        plannedReviews: StringType<true>;
                        rejectionReason: StringType<false>;
                        status: StringType<false>;
                        termsAccepted: BooleanType<false>;
                    },
                > & ModelInstanceCore<
                    InferData<
                        {
                            aboutLinks: StringType<true>;
                            createdAt: DateType<false>;
                            email: StringType<true>;
                            id: StringType<false>;
                            inviteLinkID: StringType<false>;
                            ipAddress: StringType<false>;
                            language: StringType<false>;
                            languages: StringType<true>;
                            moderatedAt: DateType<false>;
                            moderatedBy: StringType<false>;
                            plannedReviews: StringType<true>;
                            rejectionReason: StringType<false>;
                            status: StringType<false>;
                            termsAccepted: BooleanType<false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aboutLinks: StringType<true>;
                            createdAt: DateType<false>;
                            email: StringType<true>;
                            id: StringType<false>;
                            inviteLinkID: StringType<false>;
                            ipAddress: StringType<false>;
                            language: StringType<false>;
                            languages: StringType<true>;
                            moderatedAt: DateType<false>;
                            moderatedBy: StringType<false>;
                            plannedReviews: StringType<true>;
                            rejectionReason: StringType<false>;
                            status: StringType<false>;
                            termsAccepted: BooleanType<false>;
                        },
                    >,
                > & object & {
                    inviteLink?: InferData<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<false>;
                            id: StringType<false>;
                            url: VirtualType<unknown, false>;
                            usedBy: StringType<false>;
                        },
                    > & InferVirtual<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<false>;
                            id: StringType<false>;
                            url: VirtualType<unknown, false>;
                            usedBy: StringType<false>;
                        },
                    > & ModelInstanceCore<
                        InferData<
                            {
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                id: StringType<(...)>;
                                url: VirtualType<(...), (...)>;
                                usedBy: StringType<(...)>;
                            },
                        >,
                        InferVirtual<
                            {
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                id: StringType<(...)>;
                                url: VirtualType<(...), (...)>;
                                usedBy: StringType<(...)>;
                            },
                        >,
                    > & object & InviteLinkRelations;
                    moderator?: UserView;
                }
            )[],
        >;
        getPending(): Promise<
            (
                InferData<
                    {
                        aboutLinks: StringType<true>;
                        createdAt: DateType<false>;
                        email: StringType<true>;
                        id: StringType<false>;
                        inviteLinkID: StringType<false>;
                        ipAddress: StringType<false>;
                        language: StringType<false>;
                        languages: StringType<true>;
                        moderatedAt: DateType<false>;
                        moderatedBy: StringType<false>;
                        plannedReviews: StringType<true>;
                        rejectionReason: StringType<false>;
                        status: StringType<false>;
                        termsAccepted: BooleanType<false>;
                    },
                > & InferVirtual<
                    {
                        aboutLinks: StringType<true>;
                        createdAt: DateType<false>;
                        email: StringType<true>;
                        id: StringType<false>;
                        inviteLinkID: StringType<false>;
                        ipAddress: StringType<false>;
                        language: StringType<false>;
                        languages: StringType<true>;
                        moderatedAt: DateType<false>;
                        moderatedBy: StringType<false>;
                        plannedReviews: StringType<true>;
                        rejectionReason: StringType<false>;
                        status: StringType<false>;
                        termsAccepted: BooleanType<false>;
                    },
                > & ModelInstanceCore<
                    InferData<
                        {
                            aboutLinks: StringType<true>;
                            createdAt: DateType<false>;
                            email: StringType<true>;
                            id: StringType<false>;
                            inviteLinkID: StringType<false>;
                            ipAddress: StringType<false>;
                            language: StringType<false>;
                            languages: StringType<true>;
                            moderatedAt: DateType<false>;
                            moderatedBy: StringType<false>;
                            plannedReviews: StringType<true>;
                            rejectionReason: StringType<false>;
                            status: StringType<false>;
                            termsAccepted: BooleanType<false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aboutLinks: StringType<true>;
                            createdAt: DateType<false>;
                            email: StringType<true>;
                            id: StringType<false>;
                            inviteLinkID: StringType<false>;
                            ipAddress: StringType<false>;
                            language: StringType<false>;
                            languages: StringType<true>;
                            moderatedAt: DateType<false>;
                            moderatedBy: StringType<false>;
                            plannedReviews: StringType<true>;
                            rejectionReason: StringType<false>;
                            status: StringType<false>;
                            termsAccepted: BooleanType<false>;
                        },
                    >,
                > & object & {
                    inviteLink?: InferData<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<false>;
                            id: StringType<false>;
                            url: VirtualType<unknown, false>;
                            usedBy: StringType<false>;
                        },
                    > & InferVirtual<
                        {
                            createdBy: StringType<true>;
                            createdOn: DateType<false>;
                            id: StringType<false>;
                            url: VirtualType<unknown, false>;
                            usedBy: StringType<false>;
                        },
                    > & ModelInstanceCore<
                        InferData<
                            {
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                id: StringType<(...)>;
                                url: VirtualType<(...), (...)>;
                                usedBy: StringType<(...)>;
                            },
                        >,
                        InferVirtual<
                            {
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                id: StringType<(...)>;
                                url: VirtualType<(...), (...)>;
                                usedBy: StringType<(...)>;
                            },
                        >,
                    > & object & InviteLinkRelations;
                    moderator?: UserView;
                }
            )[],
        >;
        hasRecentRequest(email: string, cooldownHours: number): Promise<boolean>;
    } & CreateFromRowStatic<
        MergeManifestMethods<
            {
                camelToSnake: {
                    aboutLinks: "about_links";
                    createdAt: "created_at";
                    inviteLinkID: "invite_link_id";
                    ipAddress: "ip_address";
                    moderatedAt: "moderated_at";
                    moderatedBy: "moderated_by";
                    plannedReviews: "planned_reviews";
                    rejectionReason: "rejection_reason";
                    termsAccepted: "terms_accepted";
                };
                hasRevisions: false;
                relations: readonly [
                    {
                        cardinality: "one";
                        hasRevisions: false;
                        name: "moderator";
                        sourceKey: "moderatedBy";
                        targetKey: "id";
                        targetTable: "users";
                    },
                    {
                        cardinality: "one";
                        hasRevisions: false;
                        name: "inviteLink";
                        sourceKey: "inviteLinkID";
                        targetKey: "id";
                        targetTable: "invite_links";
                    },
                ];
                schema: {
                    aboutLinks: StringType<true>;
                    createdAt: DateType<false>;
                    email: StringType<true>;
                    id: StringType<false>;
                    inviteLinkID: StringType<false>;
                    ipAddress: StringType<false>;
                    language: StringType<false>;
                    languages: StringType<true>;
                    moderatedAt: DateType<false>;
                    moderatedBy: StringType<false>;
                    plannedReviews: StringType<true>;
                    rejectionReason: StringType<false>;
                    status: StringType<false>;
                    termsAccepted: BooleanType<false>;
                };
                tableName: "account_requests";
            },
            {
                checkIPRateLimit(
                    ipAddress: string,
                    maxRequests: number,
                    windowHours: number,
                ): Promise<boolean>;
                createRequest(
                    data: {
                        aboutLinks: string;
                        email: string;
                        ipAddress?: string;
                        language: string;
                        languages: string;
                        plannedReviews: string;
                        termsAccepted: boolean;
                    },
                ): Promise<
                    InferData<
                        {
                            aboutLinks: StringType<true>;
                            createdAt: DateType<false>;
                            email: StringType<true>;
                            id: StringType<false>;
                            inviteLinkID: StringType<false>;
                            ipAddress: StringType<false>;
                            language: StringType<false>;
                            languages: StringType<true>;
                            moderatedAt: DateType<false>;
                            moderatedBy: StringType<false>;
                            plannedReviews: StringType<true>;
                            rejectionReason: StringType<false>;
                            status: StringType<false>;
                            termsAccepted: BooleanType<false>;
                        },
                    > & InferVirtual<
                        {
                            aboutLinks: StringType<true>;
                            createdAt: DateType<false>;
                            email: StringType<true>;
                            id: StringType<false>;
                            inviteLinkID: StringType<false>;
                            ipAddress: StringType<false>;
                            language: StringType<false>;
                            languages: StringType<true>;
                            moderatedAt: DateType<false>;
                            moderatedBy: StringType<false>;
                            plannedReviews: StringType<true>;
                            rejectionReason: StringType<false>;
                            status: StringType<false>;
                            termsAccepted: BooleanType<false>;
                        },
                    > & ModelInstanceCore<
                        InferData<
                            {
                                aboutLinks: StringType<true>;
                                createdAt: DateType<false>;
                                email: StringType<true>;
                                id: StringType<false>;
                                inviteLinkID: StringType<false>;
                                ipAddress: StringType<false>;
                                language: StringType<false>;
                                languages: StringType<true>;
                                moderatedAt: DateType<false>;
                                moderatedBy: StringType<false>;
                                plannedReviews: StringType<true>;
                                rejectionReason: StringType<false>;
                                status: StringType<false>;
                                termsAccepted: BooleanType<false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aboutLinks: StringType<true>;
                                createdAt: DateType<false>;
                                email: StringType<true>;
                                id: StringType<false>;
                                inviteLinkID: StringType<false>;
                                ipAddress: StringType<false>;
                                language: StringType<false>;
                                languages: StringType<true>;
                                moderatedAt: DateType<false>;
                                moderatedBy: StringType<false>;
                                plannedReviews: StringType<true>;
                                rejectionReason: StringType<false>;
                                status: StringType<false>;
                                termsAccepted: BooleanType<false>;
                            },
                        >,
                    > & object & {
                        inviteLink?: InferData<
                            {
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                id: StringType<(...)>;
                                url: VirtualType<(...), (...)>;
                                usedBy: StringType<(...)>;
                            },
                        > & InferVirtual<
                            {
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                id: StringType<(...)>;
                                url: VirtualType<(...), (...)>;
                                usedBy: StringType<(...)>;
                            },
                        > & ModelInstanceCore<
                            InferData<
                                { createdBy: ...; createdOn: ...; id: ...; url: ...; usedBy: ... },
                            >,
                            InferVirtual<
                                { createdBy: ...; createdOn: ...; id: ...; url: ...; usedBy: ... },
                            >,
                        > & object & InviteLinkRelations;
                        moderator?: UserView;
                    },
                >;
                getModerated(
                    limit?: number,
                ): Promise<
                    (
                        InferData<
                            {
                                aboutLinks: StringType<true>;
                                createdAt: DateType<false>;
                                email: StringType<true>;
                                id: StringType<false>;
                                inviteLinkID: StringType<false>;
                                ipAddress: StringType<false>;
                                language: StringType<false>;
                                languages: StringType<true>;
                                moderatedAt: DateType<false>;
                                moderatedBy: StringType<false>;
                                plannedReviews: StringType<true>;
                                rejectionReason: StringType<false>;
                                status: StringType<false>;
                                termsAccepted: BooleanType<false>;
                            },
                        > & InferVirtual<
                            {
                                aboutLinks: StringType<true>;
                                createdAt: DateType<false>;
                                email: StringType<true>;
                                id: StringType<false>;
                                inviteLinkID: StringType<false>;
                                ipAddress: StringType<false>;
                                language: StringType<false>;
                                languages: StringType<true>;
                                moderatedAt: DateType<false>;
                                moderatedBy: StringType<false>;
                                plannedReviews: StringType<true>;
                                rejectionReason: StringType<false>;
                                status: StringType<false>;
                                termsAccepted: BooleanType<false>;
                            },
                        > & ModelInstanceCore<
                            InferData<
                                {
                                    aboutLinks: StringType<(...)>;
                                    createdAt: DateType<(...)>;
                                    email: StringType<(...)>;
                                    id: StringType<(...)>;
                                    inviteLinkID: StringType<(...)>;
                                    ipAddress: StringType<(...)>;
                                    language: StringType<(...)>;
                                    languages: StringType<(...)>;
                                    moderatedAt: DateType<(...)>;
                                    moderatedBy: StringType<(...)>;
                                    plannedReviews: StringType<(...)>;
                                    rejectionReason: StringType<(...)>;
                                    status: StringType<(...)>;
                                    termsAccepted: BooleanType<(...)>;
                                },
                            >,
                            InferVirtual<
                                {
                                    aboutLinks: StringType<(...)>;
                                    createdAt: DateType<(...)>;
                                    email: StringType<(...)>;
                                    id: StringType<(...)>;
                                    inviteLinkID: StringType<(...)>;
                                    ipAddress: StringType<(...)>;
                                    language: StringType<(...)>;
                                    languages: StringType<(...)>;
                                    moderatedAt: DateType<(...)>;
                                    moderatedBy: StringType<(...)>;
                                    plannedReviews: StringType<(...)>;
                                    rejectionReason: StringType<(...)>;
                                    status: StringType<(...)>;
                                    termsAccepted: BooleanType<(...)>;
                                },
                            >,
                        > & object & {
                            inviteLink?: InferData<
                                { createdBy: ...; createdOn: ...; id: ...; url: ...; usedBy: ... },
                            > & InferVirtual<
                                { createdBy: ...; createdOn: ...; id: ...; url: ...; usedBy: ... },
                            > & ModelInstanceCore<InferData<(...)>, InferVirtual<(...)>> & object & InviteLinkRelations;
                            moderator?: UserView;
                        }
                    )[],
                >;
                getPending(): Promise<
                    (
                        InferData<
                            {
                                aboutLinks: StringType<true>;
                                createdAt: DateType<false>;
                                email: StringType<true>;
                                id: StringType<false>;
                                inviteLinkID: StringType<false>;
                                ipAddress: StringType<false>;
                                language: StringType<false>;
                                languages: StringType<true>;
                                moderatedAt: DateType<false>;
                                moderatedBy: StringType<false>;
                                plannedReviews: StringType<true>;
                                rejectionReason: StringType<false>;
                                status: StringType<false>;
                                termsAccepted: BooleanType<false>;
                            },
                        > & InferVirtual<
                            {
                                aboutLinks: StringType<true>;
                                createdAt: DateType<false>;
                                email: StringType<true>;
                                id: StringType<false>;
                                inviteLinkID: StringType<false>;
                                ipAddress: StringType<false>;
                                language: StringType<false>;
                                languages: StringType<true>;
                                moderatedAt: DateType<false>;
                                moderatedBy: StringType<false>;
                                plannedReviews: StringType<true>;
                                rejectionReason: StringType<false>;
                                status: StringType<false>;
                                termsAccepted: BooleanType<false>;
                            },
                        > & ModelInstanceCore<
                            InferData<
                                {
                                    aboutLinks: StringType<(...)>;
                                    createdAt: DateType<(...)>;
                                    email: StringType<(...)>;
                                    id: StringType<(...)>;
                                    inviteLinkID: StringType<(...)>;
                                    ipAddress: StringType<(...)>;
                                    language: StringType<(...)>;
                                    languages: StringType<(...)>;
                                    moderatedAt: DateType<(...)>;
                                    moderatedBy: StringType<(...)>;
                                    plannedReviews: StringType<(...)>;
                                    rejectionReason: StringType<(...)>;
                                    status: StringType<(...)>;
                                    termsAccepted: BooleanType<(...)>;
                                },
                            >,
                            InferVirtual<
                                {
                                    aboutLinks: StringType<(...)>;
                                    createdAt: DateType<(...)>;
                                    email: StringType<(...)>;
                                    id: StringType<(...)>;
                                    inviteLinkID: StringType<(...)>;
                                    ipAddress: StringType<(...)>;
                                    language: StringType<(...)>;
                                    languages: StringType<(...)>;
                                    moderatedAt: DateType<(...)>;
                                    moderatedBy: StringType<(...)>;
                                    plannedReviews: StringType<(...)>;
                                    rejectionReason: StringType<(...)>;
                                    status: StringType<(...)>;
                                    termsAccepted: BooleanType<(...)>;
                                },
                            >,
                        > & object & {
                            inviteLink?: InferData<
                                { createdBy: ...; createdOn: ...; id: ...; url: ...; usedBy: ... },
                            > & InferVirtual<
                                { createdBy: ...; createdOn: ...; id: ...; url: ...; usedBy: ... },
                            > & ModelInstanceCore<InferData<(...)>, InferVirtual<(...)>> & object & InviteLinkRelations;
                            moderator?: UserView;
                        }
                    )[],
                >;
                hasRecentRequest(email: string, cooldownHours: number): Promise<boolean>;
            },
            EmptyInstanceMethods,
        >,
    >