Variable defaultConst

default: VersionedModelConstructor<
    InferData<
        {
            aliases: ObjectType<string[], false>;
            authors: VirtualType<MultilingualString[], false>;
            averageStarRating: VirtualType<unknown, false>;
            canonicalSlugName: StringType<false>;
            createdBy: StringType<true>;
            createdOn: DateType<true>;
            description: VirtualType<MultilingualString, false>;
            id: StringType<false>;
            label: ObjectType<string, false>;
            metadata: ObjectType<unknown, false>;
            numberOfReviews: VirtualType<unknown, false>;
            originalLanguage: StringType<false>;
            subtitle: VirtualType<MultilingualString, false>;
            sync: ObjectType<unknown, false>;
            urlID: VirtualType<unknown, false>;
            urls: ArrayType<StringType<false>, false>;
            userCanDelete: VirtualType<unknown, false>;
            userCanEdit: VirtualType<unknown, false>;
            userCanUpload: VirtualType<unknown, false>;
            userIsCreator: VirtualType<unknown, false>;
        },
    >,
    InferVirtual<
        {
            aliases: ObjectType<string[], false>;
            authors: VirtualType<MultilingualString[], false>;
            averageStarRating: VirtualType<unknown, false>;
            canonicalSlugName: StringType<false>;
            createdBy: StringType<true>;
            createdOn: DateType<true>;
            description: VirtualType<MultilingualString, false>;
            id: StringType<false>;
            label: ObjectType<string, false>;
            metadata: ObjectType<unknown, false>;
            numberOfReviews: VirtualType<unknown, false>;
            originalLanguage: StringType<false>;
            subtitle: VirtualType<MultilingualString, false>;
            sync: ObjectType<unknown, false>;
            urlID: VirtualType<unknown, false>;
            urls: ArrayType<StringType<false>, false>;
            userCanDelete: VirtualType<unknown, false>;
            userCanEdit: VirtualType<unknown, false>;
            userCanUpload: VirtualType<unknown, false>;
            userIsCreator: VirtualType<unknown, false>;
        },
    >,
    InferData<
        {
            aliases: ObjectType<string[], false>;
            authors: VirtualType<MultilingualString[], false>;
            averageStarRating: VirtualType<unknown, false>;
            canonicalSlugName: StringType<false>;
            createdBy: StringType<true>;
            createdOn: DateType<true>;
            description: VirtualType<MultilingualString, false>;
            id: StringType<false>;
            label: ObjectType<string, false>;
            metadata: ObjectType<unknown, false>;
            numberOfReviews: VirtualType<unknown, false>;
            originalLanguage: StringType<false>;
            subtitle: VirtualType<MultilingualString, false>;
            sync: ObjectType<unknown, false>;
            urlID: VirtualType<unknown, false>;
            urls: ArrayType<StringType<false>, false>;
            userCanDelete: VirtualType<unknown, false>;
            userCanEdit: VirtualType<unknown, false>;
            userCanUpload: VirtualType<unknown, false>;
            userIsCreator: VirtualType<unknown, false>;
        },
    > & InferVirtual<
        {
            aliases: ObjectType<string[], false>;
            authors: VirtualType<MultilingualString[], false>;
            averageStarRating: VirtualType<unknown, false>;
            canonicalSlugName: StringType<false>;
            createdBy: StringType<true>;
            createdOn: DateType<true>;
            description: VirtualType<MultilingualString, false>;
            id: StringType<false>;
            label: ObjectType<string, false>;
            metadata: ObjectType<unknown, false>;
            numberOfReviews: VirtualType<unknown, false>;
            originalLanguage: StringType<false>;
            subtitle: VirtualType<MultilingualString, false>;
            sync: ObjectType<unknown, false>;
            urlID: VirtualType<unknown, false>;
            urls: ArrayType<StringType<false>, false>;
            userCanDelete: VirtualType<unknown, false>;
            userCanEdit: VirtualType<unknown, false>;
            userCanUpload: VirtualType<unknown, false>;
            userIsCreator: VirtualType<unknown, false>;
        },
    > & ModelInstanceCore<
        InferData<
            {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            },
        >,
        InferVirtual<
            {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            },
        >,
    > & RevisionFieldMap & {
        deleteAllRevisions<
            TThis extends
                VersionedModelInstance<
                    InferData<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                > = VersionedModelInstance<
                InferData<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                >,
                InferVirtual<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                >,
            >,
        >(
            this: TThis,
            user?: RevisionActor,
            options?: RevisionMetadata,
        ): Promise<TThis>;
        newRevision<
            TThis extends
                VersionedModelInstance<
                    InferData<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                > = VersionedModelInstance<
                InferData<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                >,
                InferVirtual<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                >,
            >,
        >(
            this: TThis,
            user: RevisionActor,
            options?: RevisionMetadata,
        ): Promise<TThis>;
    } & ThingInstanceMethodsMap,
    "reviews"
    | "files",
> & {
    getLabel(thing: ThingLabelSource, language: string): string;
    getWithData(
        id: string,
        options?: { withFiles?: boolean; withReviewMetrics?: boolean },
    ): Promise<
        InferData<
            {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            },
        > & InferVirtual<
            {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            },
        > & ModelInstanceCore<
            InferData<
                {
                    aliases: ObjectType<string[], false>;
                    authors: VirtualType<MultilingualString[], false>;
                    averageStarRating: VirtualType<unknown, false>;
                    canonicalSlugName: StringType<false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: VirtualType<MultilingualString, false>;
                    id: StringType<false>;
                    label: ObjectType<string, false>;
                    metadata: ObjectType<unknown, false>;
                    numberOfReviews: VirtualType<unknown, false>;
                    originalLanguage: StringType<false>;
                    subtitle: VirtualType<MultilingualString, false>;
                    sync: ObjectType<unknown, false>;
                    urlID: VirtualType<unknown, false>;
                    urls: ArrayType<StringType<false>, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanUpload: VirtualType<unknown, false>;
                    userIsCreator: VirtualType<unknown, false>;
                },
            >,
            InferVirtual<
                {
                    aliases: ObjectType<string[], false>;
                    authors: VirtualType<MultilingualString[], false>;
                    averageStarRating: VirtualType<unknown, false>;
                    canonicalSlugName: StringType<false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: VirtualType<MultilingualString, false>;
                    id: StringType<false>;
                    label: ObjectType<string, false>;
                    metadata: ObjectType<unknown, false>;
                    numberOfReviews: VirtualType<unknown, false>;
                    originalLanguage: StringType<false>;
                    subtitle: VirtualType<MultilingualString, false>;
                    sync: ObjectType<unknown, false>;
                    urlID: VirtualType<unknown, false>;
                    urls: ArrayType<StringType<false>, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanUpload: VirtualType<unknown, false>;
                    userIsCreator: VirtualType<unknown, false>;
                },
            >,
        > & RevisionFieldMap & {
            deleteAllRevisions<
                TThis extends
                    VersionedModelInstance<
                        InferData<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                    > = VersionedModelInstance<
                    InferData<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                >,
            >(
                this: TThis,
                user?: RevisionActor,
                options?: RevisionMetadata,
            ): Promise<TThis>;
            newRevision<
                TThis extends
                    VersionedModelInstance<
                        InferData<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<string[], false>;
                                authors: VirtualType<MultilingualString[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<false>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                    > = VersionedModelInstance<
                    InferData<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<string[], false>;
                            authors: VirtualType<MultilingualString[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<false>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                >,
            >(
                this: TThis,
                user: RevisionActor,
                options?: RevisionMetadata,
            ): Promise<TThis>;
        } & object & ThingRelations & ThingInstanceMethodsMap,
    >;
    lookupByURL(
        url: string,
        userID?: string,
    ): Promise<
        (
            InferData<
                {
                    aliases: ObjectType<string[], false>;
                    authors: VirtualType<MultilingualString[], false>;
                    averageStarRating: VirtualType<unknown, false>;
                    canonicalSlugName: StringType<false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: VirtualType<MultilingualString, false>;
                    id: StringType<false>;
                    label: ObjectType<string, false>;
                    metadata: ObjectType<unknown, false>;
                    numberOfReviews: VirtualType<unknown, false>;
                    originalLanguage: StringType<false>;
                    subtitle: VirtualType<MultilingualString, false>;
                    sync: ObjectType<unknown, false>;
                    urlID: VirtualType<unknown, false>;
                    urls: ArrayType<StringType<false>, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanUpload: VirtualType<unknown, false>;
                    userIsCreator: VirtualType<unknown, false>;
                },
            > & InferVirtual<
                {
                    aliases: ObjectType<string[], false>;
                    authors: VirtualType<MultilingualString[], false>;
                    averageStarRating: VirtualType<unknown, false>;
                    canonicalSlugName: StringType<false>;
                    createdBy: StringType<true>;
                    createdOn: DateType<true>;
                    description: VirtualType<MultilingualString, false>;
                    id: StringType<false>;
                    label: ObjectType<string, false>;
                    metadata: ObjectType<unknown, false>;
                    numberOfReviews: VirtualType<unknown, false>;
                    originalLanguage: StringType<false>;
                    subtitle: VirtualType<MultilingualString, false>;
                    sync: ObjectType<unknown, false>;
                    urlID: VirtualType<unknown, false>;
                    urls: ArrayType<StringType<false>, false>;
                    userCanDelete: VirtualType<unknown, false>;
                    userCanEdit: VirtualType<unknown, false>;
                    userCanUpload: VirtualType<unknown, false>;
                    userIsCreator: VirtualType<unknown, false>;
                },
            > & ModelInstanceCore<
                InferData<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                >,
                InferVirtual<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                >,
            > & RevisionFieldMap & {
                deleteAllRevisions<
                    TThis extends
                        VersionedModelInstance<
                            InferData<
                                {
                                    aliases: ObjectType<(...)[], false>;
                                    authors: VirtualType<(...)[], false>;
                                    averageStarRating: VirtualType<unknown, false>;
                                    canonicalSlugName: StringType<false>;
                                    createdBy: StringType<true>;
                                    createdOn: DateType<true>;
                                    description: VirtualType<MultilingualString, false>;
                                    id: StringType<false>;
                                    label: ObjectType<string, false>;
                                    metadata: ObjectType<unknown, false>;
                                    numberOfReviews: VirtualType<unknown, false>;
                                    originalLanguage: StringType<false>;
                                    subtitle: VirtualType<MultilingualString, false>;
                                    sync: ObjectType<unknown, false>;
                                    urlID: VirtualType<unknown, false>;
                                    urls: ArrayType<StringType<(...)>, false>;
                                    userCanDelete: VirtualType<unknown, false>;
                                    userCanEdit: VirtualType<unknown, false>;
                                    userCanUpload: VirtualType<unknown, false>;
                                    userIsCreator: VirtualType<unknown, false>;
                                },
                            >,
                            InferVirtual<
                                {
                                    aliases: ObjectType<(...)[], false>;
                                    authors: VirtualType<(...)[], false>;
                                    averageStarRating: VirtualType<unknown, false>;
                                    canonicalSlugName: StringType<false>;
                                    createdBy: StringType<true>;
                                    createdOn: DateType<true>;
                                    description: VirtualType<MultilingualString, false>;
                                    id: StringType<false>;
                                    label: ObjectType<string, false>;
                                    metadata: ObjectType<unknown, false>;
                                    numberOfReviews: VirtualType<unknown, false>;
                                    originalLanguage: StringType<false>;
                                    subtitle: VirtualType<MultilingualString, false>;
                                    sync: ObjectType<unknown, false>;
                                    urlID: VirtualType<unknown, false>;
                                    urls: ArrayType<StringType<(...)>, false>;
                                    userCanDelete: VirtualType<unknown, false>;
                                    userCanEdit: VirtualType<unknown, false>;
                                    userCanUpload: VirtualType<unknown, false>;
                                    userIsCreator: VirtualType<unknown, false>;
                                },
                            >,
                        > = VersionedModelInstance<
                        InferData<
                            {
                                aliases: ObjectType<(...)[], false>;
                                authors: VirtualType<(...)[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<(...)>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<(...)[], false>;
                                authors: VirtualType<(...)[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<(...)>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                    >,
                >(
                    this: TThis,
                    user?: RevisionActor,
                    options?: RevisionMetadata,
                ): Promise<TThis>;
                newRevision<
                    TThis extends
                        VersionedModelInstance<
                            InferData<
                                {
                                    aliases: ObjectType<(...)[], false>;
                                    authors: VirtualType<(...)[], false>;
                                    averageStarRating: VirtualType<unknown, false>;
                                    canonicalSlugName: StringType<false>;
                                    createdBy: StringType<true>;
                                    createdOn: DateType<true>;
                                    description: VirtualType<MultilingualString, false>;
                                    id: StringType<false>;
                                    label: ObjectType<string, false>;
                                    metadata: ObjectType<unknown, false>;
                                    numberOfReviews: VirtualType<unknown, false>;
                                    originalLanguage: StringType<false>;
                                    subtitle: VirtualType<MultilingualString, false>;
                                    sync: ObjectType<unknown, false>;
                                    urlID: VirtualType<unknown, false>;
                                    urls: ArrayType<StringType<(...)>, false>;
                                    userCanDelete: VirtualType<unknown, false>;
                                    userCanEdit: VirtualType<unknown, false>;
                                    userCanUpload: VirtualType<unknown, false>;
                                    userIsCreator: VirtualType<unknown, false>;
                                },
                            >,
                            InferVirtual<
                                {
                                    aliases: ObjectType<(...)[], false>;
                                    authors: VirtualType<(...)[], false>;
                                    averageStarRating: VirtualType<unknown, false>;
                                    canonicalSlugName: StringType<false>;
                                    createdBy: StringType<true>;
                                    createdOn: DateType<true>;
                                    description: VirtualType<MultilingualString, false>;
                                    id: StringType<false>;
                                    label: ObjectType<string, false>;
                                    metadata: ObjectType<unknown, false>;
                                    numberOfReviews: VirtualType<unknown, false>;
                                    originalLanguage: StringType<false>;
                                    subtitle: VirtualType<MultilingualString, false>;
                                    sync: ObjectType<unknown, false>;
                                    urlID: VirtualType<unknown, false>;
                                    urls: ArrayType<StringType<(...)>, false>;
                                    userCanDelete: VirtualType<unknown, false>;
                                    userCanEdit: VirtualType<unknown, false>;
                                    userCanUpload: VirtualType<unknown, false>;
                                    userIsCreator: VirtualType<unknown, false>;
                                },
                            >,
                        > = VersionedModelInstance<
                        InferData<
                            {
                                aliases: ObjectType<(...)[], false>;
                                authors: VirtualType<(...)[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<(...)>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<(...)[], false>;
                                authors: VirtualType<(...)[], false>;
                                averageStarRating: VirtualType<unknown, false>;
                                canonicalSlugName: StringType<false>;
                                createdBy: StringType<true>;
                                createdOn: DateType<true>;
                                description: VirtualType<MultilingualString, false>;
                                id: StringType<false>;
                                label: ObjectType<string, false>;
                                metadata: ObjectType<unknown, false>;
                                numberOfReviews: VirtualType<unknown, false>;
                                originalLanguage: StringType<false>;
                                subtitle: VirtualType<MultilingualString, false>;
                                sync: ObjectType<unknown, false>;
                                urlID: VirtualType<unknown, false>;
                                urls: ArrayType<StringType<(...)>, false>;
                                userCanDelete: VirtualType<unknown, false>;
                                userCanEdit: VirtualType<unknown, false>;
                                userCanUpload: VirtualType<unknown, false>;
                                userIsCreator: VirtualType<unknown, false>;
                            },
                        >,
                    >,
                >(
                    this: TThis,
                    user: RevisionActor,
                    options?: RevisionMetadata,
                ): Promise<TThis>;
            } & object & ThingRelations & ThingInstanceMethodsMap
        )[],
    >;
} & CreateFromRowStatic<
    MergeManifestMethods<
        {
            camelToSnake: {
                canonicalSlugName: "canonical_slug_name";
                createdBy: "created_by";
                createdOn: "created_on";
                originalLanguage: "original_language";
            };
            hasRevisions: true;
            relations: readonly [
                {
                    cardinality: "many";
                    hasRevisions: true;
                    name: "reviews";
                    sourceKey: "id";
                    targetKey: "thing_id";
                    targetTable: "reviews";
                },
                {
                    cardinality: "many";
                    hasRevisions: true;
                    name: "files";
                    sourceKey: "id";
                    targetKey: "id";
                    targetTable: "files";
                    through: {
                        sourceForeignKey: "thing_id";
                        table: "thing_files";
                        targetForeignKey: "file_id";
                    };
                },
            ];
            schema: {
                aliases: ObjectType<string[], false>;
                authors: VirtualType<MultilingualString[], false>;
                averageStarRating: VirtualType<unknown, false>;
                canonicalSlugName: StringType<false>;
                createdBy: StringType<true>;
                createdOn: DateType<true>;
                description: VirtualType<MultilingualString, false>;
                id: StringType<false>;
                label: ObjectType<string, false>;
                metadata: ObjectType<unknown, false>;
                numberOfReviews: VirtualType<unknown, false>;
                originalLanguage: StringType<false>;
                subtitle: VirtualType<MultilingualString, false>;
                sync: ObjectType<unknown, false>;
                urlID: VirtualType<unknown, false>;
                urls: ArrayType<StringType<false>, false>;
                userCanDelete: VirtualType<unknown, false>;
                userCanEdit: VirtualType<unknown, false>;
                userCanUpload: VirtualType<unknown, false>;
                userIsCreator: VirtualType<unknown, false>;
            };
            tableName: "things";
        },
        {
            getLabel(thing: ThingLabelSource, language: string): string;
            getWithData(
                id: string,
                options?: { withFiles?: boolean; withReviewMetrics?: boolean },
            ): Promise<
                InferData<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                > & InferVirtual<
                    {
                        aliases: ObjectType<string[], false>;
                        authors: VirtualType<MultilingualString[], false>;
                        averageStarRating: VirtualType<unknown, false>;
                        canonicalSlugName: StringType<false>;
                        createdBy: StringType<true>;
                        createdOn: DateType<true>;
                        description: VirtualType<MultilingualString, false>;
                        id: StringType<false>;
                        label: ObjectType<string, false>;
                        metadata: ObjectType<unknown, false>;
                        numberOfReviews: VirtualType<unknown, false>;
                        originalLanguage: StringType<false>;
                        subtitle: VirtualType<MultilingualString, false>;
                        sync: ObjectType<unknown, false>;
                        urlID: VirtualType<unknown, false>;
                        urls: ArrayType<StringType<false>, false>;
                        userCanDelete: VirtualType<unknown, false>;
                        userCanEdit: VirtualType<unknown, false>;
                        userCanUpload: VirtualType<unknown, false>;
                        userIsCreator: VirtualType<unknown, false>;
                    },
                > & ModelInstanceCore<
                    InferData<
                        {
                            aliases: ObjectType<(...)[], false>;
                            authors: VirtualType<(...)[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<(...)>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                    InferVirtual<
                        {
                            aliases: ObjectType<(...)[], false>;
                            authors: VirtualType<(...)[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<(...)>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    >,
                > & RevisionFieldMap & {
                    deleteAllRevisions<
                        TThis extends
                            VersionedModelInstance<
                                InferData<
                                    {
                                        aliases: ObjectType<(...), (...)>;
                                        authors: VirtualType<(...), (...)>;
                                        averageStarRating: VirtualType<(...), (...)>;
                                        canonicalSlugName: StringType<(...)>;
                                        createdBy: StringType<(...)>;
                                        createdOn: DateType<(...)>;
                                        description: VirtualType<(...), (...)>;
                                        id: StringType<(...)>;
                                        label: ObjectType<(...), (...)>;
                                        metadata: ObjectType<(...), (...)>;
                                        numberOfReviews: VirtualType<(...), (...)>;
                                        originalLanguage: StringType<(...)>;
                                        subtitle: VirtualType<(...), (...)>;
                                        sync: ObjectType<(...), (...)>;
                                        urlID: VirtualType<(...), (...)>;
                                        urls: ArrayType<(...), (...)>;
                                        userCanDelete: VirtualType<(...), (...)>;
                                        userCanEdit: VirtualType<(...), (...)>;
                                        userCanUpload: VirtualType<(...), (...)>;
                                        userIsCreator: VirtualType<(...), (...)>;
                                    },
                                >,
                                InferVirtual<
                                    {
                                        aliases: ObjectType<(...), (...)>;
                                        authors: VirtualType<(...), (...)>;
                                        averageStarRating: VirtualType<(...), (...)>;
                                        canonicalSlugName: StringType<(...)>;
                                        createdBy: StringType<(...)>;
                                        createdOn: DateType<(...)>;
                                        description: VirtualType<(...), (...)>;
                                        id: StringType<(...)>;
                                        label: ObjectType<(...), (...)>;
                                        metadata: ObjectType<(...), (...)>;
                                        numberOfReviews: VirtualType<(...), (...)>;
                                        originalLanguage: StringType<(...)>;
                                        subtitle: VirtualType<(...), (...)>;
                                        sync: ObjectType<(...), (...)>;
                                        urlID: VirtualType<(...), (...)>;
                                        urls: ArrayType<(...), (...)>;
                                        userCanDelete: VirtualType<(...), (...)>;
                                        userCanEdit: VirtualType<(...), (...)>;
                                        userCanUpload: VirtualType<(...), (...)>;
                                        userIsCreator: VirtualType<(...), (...)>;
                                    },
                                >,
                            > = VersionedModelInstance<
                            InferData<
                                {
                                    aliases: ObjectType<(...), (...)>;
                                    authors: VirtualType<(...), (...)>;
                                    averageStarRating: VirtualType<(...), (...)>;
                                    canonicalSlugName: StringType<(...)>;
                                    createdBy: StringType<(...)>;
                                    createdOn: DateType<(...)>;
                                    description: VirtualType<(...), (...)>;
                                    id: StringType<(...)>;
                                    label: ObjectType<(...), (...)>;
                                    metadata: ObjectType<(...), (...)>;
                                    numberOfReviews: VirtualType<(...), (...)>;
                                    originalLanguage: StringType<(...)>;
                                    subtitle: VirtualType<(...), (...)>;
                                    sync: ObjectType<(...), (...)>;
                                    urlID: VirtualType<(...), (...)>;
                                    urls: ArrayType<(...), (...)>;
                                    userCanDelete: VirtualType<(...), (...)>;
                                    userCanEdit: VirtualType<(...), (...)>;
                                    userCanUpload: VirtualType<(...), (...)>;
                                    userIsCreator: VirtualType<(...), (...)>;
                                },
                            >,
                            InferVirtual<
                                {
                                    aliases: ObjectType<(...), (...)>;
                                    authors: VirtualType<(...), (...)>;
                                    averageStarRating: VirtualType<(...), (...)>;
                                    canonicalSlugName: StringType<(...)>;
                                    createdBy: StringType<(...)>;
                                    createdOn: DateType<(...)>;
                                    description: VirtualType<(...), (...)>;
                                    id: StringType<(...)>;
                                    label: ObjectType<(...), (...)>;
                                    metadata: ObjectType<(...), (...)>;
                                    numberOfReviews: VirtualType<(...), (...)>;
                                    originalLanguage: StringType<(...)>;
                                    subtitle: VirtualType<(...), (...)>;
                                    sync: ObjectType<(...), (...)>;
                                    urlID: VirtualType<(...), (...)>;
                                    urls: ArrayType<(...), (...)>;
                                    userCanDelete: VirtualType<(...), (...)>;
                                    userCanEdit: VirtualType<(...), (...)>;
                                    userCanUpload: VirtualType<(...), (...)>;
                                    userIsCreator: VirtualType<(...), (...)>;
                                },
                            >,
                        >,
                    >(
                        this: TThis,
                        user?: RevisionActor,
                        options?: RevisionMetadata,
                    ): Promise<TThis>;
                    newRevision<
                        TThis extends
                            VersionedModelInstance<
                                InferData<
                                    {
                                        aliases: ObjectType<(...), (...)>;
                                        authors: VirtualType<(...), (...)>;
                                        averageStarRating: VirtualType<(...), (...)>;
                                        canonicalSlugName: StringType<(...)>;
                                        createdBy: StringType<(...)>;
                                        createdOn: DateType<(...)>;
                                        description: VirtualType<(...), (...)>;
                                        id: StringType<(...)>;
                                        label: ObjectType<(...), (...)>;
                                        metadata: ObjectType<(...), (...)>;
                                        numberOfReviews: VirtualType<(...), (...)>;
                                        originalLanguage: StringType<(...)>;
                                        subtitle: VirtualType<(...), (...)>;
                                        sync: ObjectType<(...), (...)>;
                                        urlID: VirtualType<(...), (...)>;
                                        urls: ArrayType<(...), (...)>;
                                        userCanDelete: VirtualType<(...), (...)>;
                                        userCanEdit: VirtualType<(...), (...)>;
                                        userCanUpload: VirtualType<(...), (...)>;
                                        userIsCreator: VirtualType<(...), (...)>;
                                    },
                                >,
                                InferVirtual<
                                    {
                                        aliases: ObjectType<(...), (...)>;
                                        authors: VirtualType<(...), (...)>;
                                        averageStarRating: VirtualType<(...), (...)>;
                                        canonicalSlugName: StringType<(...)>;
                                        createdBy: StringType<(...)>;
                                        createdOn: DateType<(...)>;
                                        description: VirtualType<(...), (...)>;
                                        id: StringType<(...)>;
                                        label: ObjectType<(...), (...)>;
                                        metadata: ObjectType<(...), (...)>;
                                        numberOfReviews: VirtualType<(...), (...)>;
                                        originalLanguage: StringType<(...)>;
                                        subtitle: VirtualType<(...), (...)>;
                                        sync: ObjectType<(...), (...)>;
                                        urlID: VirtualType<(...), (...)>;
                                        urls: ArrayType<(...), (...)>;
                                        userCanDelete: VirtualType<(...), (...)>;
                                        userCanEdit: VirtualType<(...), (...)>;
                                        userCanUpload: VirtualType<(...), (...)>;
                                        userIsCreator: VirtualType<(...), (...)>;
                                    },
                                >,
                            > = VersionedModelInstance<
                            InferData<
                                {
                                    aliases: ObjectType<(...), (...)>;
                                    authors: VirtualType<(...), (...)>;
                                    averageStarRating: VirtualType<(...), (...)>;
                                    canonicalSlugName: StringType<(...)>;
                                    createdBy: StringType<(...)>;
                                    createdOn: DateType<(...)>;
                                    description: VirtualType<(...), (...)>;
                                    id: StringType<(...)>;
                                    label: ObjectType<(...), (...)>;
                                    metadata: ObjectType<(...), (...)>;
                                    numberOfReviews: VirtualType<(...), (...)>;
                                    originalLanguage: StringType<(...)>;
                                    subtitle: VirtualType<(...), (...)>;
                                    sync: ObjectType<(...), (...)>;
                                    urlID: VirtualType<(...), (...)>;
                                    urls: ArrayType<(...), (...)>;
                                    userCanDelete: VirtualType<(...), (...)>;
                                    userCanEdit: VirtualType<(...), (...)>;
                                    userCanUpload: VirtualType<(...), (...)>;
                                    userIsCreator: VirtualType<(...), (...)>;
                                },
                            >,
                            InferVirtual<
                                {
                                    aliases: ObjectType<(...), (...)>;
                                    authors: VirtualType<(...), (...)>;
                                    averageStarRating: VirtualType<(...), (...)>;
                                    canonicalSlugName: StringType<(...)>;
                                    createdBy: StringType<(...)>;
                                    createdOn: DateType<(...)>;
                                    description: VirtualType<(...), (...)>;
                                    id: StringType<(...)>;
                                    label: ObjectType<(...), (...)>;
                                    metadata: ObjectType<(...), (...)>;
                                    numberOfReviews: VirtualType<(...), (...)>;
                                    originalLanguage: StringType<(...)>;
                                    subtitle: VirtualType<(...), (...)>;
                                    sync: ObjectType<(...), (...)>;
                                    urlID: VirtualType<(...), (...)>;
                                    urls: ArrayType<(...), (...)>;
                                    userCanDelete: VirtualType<(...), (...)>;
                                    userCanEdit: VirtualType<(...), (...)>;
                                    userCanUpload: VirtualType<(...), (...)>;
                                    userIsCreator: VirtualType<(...), (...)>;
                                },
                            >,
                        >,
                    >(
                        this: TThis,
                        user: RevisionActor,
                        options?: RevisionMetadata,
                    ): Promise<TThis>;
                } & object & ThingRelations & ThingInstanceMethodsMap,
            >;
            lookupByURL(
                url: string,
                userID?: string,
            ): Promise<
                (
                    InferData<
                        {
                            aliases: ObjectType<(...)[], false>;
                            authors: VirtualType<(...)[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<(...)>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    > & InferVirtual<
                        {
                            aliases: ObjectType<(...)[], false>;
                            authors: VirtualType<(...)[], false>;
                            averageStarRating: VirtualType<unknown, false>;
                            canonicalSlugName: StringType<false>;
                            createdBy: StringType<true>;
                            createdOn: DateType<true>;
                            description: VirtualType<MultilingualString, false>;
                            id: StringType<false>;
                            label: ObjectType<string, false>;
                            metadata: ObjectType<unknown, false>;
                            numberOfReviews: VirtualType<unknown, false>;
                            originalLanguage: StringType<false>;
                            subtitle: VirtualType<MultilingualString, false>;
                            sync: ObjectType<unknown, false>;
                            urlID: VirtualType<unknown, false>;
                            urls: ArrayType<StringType<(...)>, false>;
                            userCanDelete: VirtualType<unknown, false>;
                            userCanEdit: VirtualType<unknown, false>;
                            userCanUpload: VirtualType<unknown, false>;
                            userIsCreator: VirtualType<unknown, false>;
                        },
                    > & ModelInstanceCore<
                        InferData<
                            {
                                aliases: ObjectType<(...), (...)>;
                                authors: VirtualType<(...), (...)>;
                                averageStarRating: VirtualType<(...), (...)>;
                                canonicalSlugName: StringType<(...)>;
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                description: VirtualType<(...), (...)>;
                                id: StringType<(...)>;
                                label: ObjectType<(...), (...)>;
                                metadata: ObjectType<(...), (...)>;
                                numberOfReviews: VirtualType<(...), (...)>;
                                originalLanguage: StringType<(...)>;
                                subtitle: VirtualType<(...), (...)>;
                                sync: ObjectType<(...), (...)>;
                                urlID: VirtualType<(...), (...)>;
                                urls: ArrayType<(...), (...)>;
                                userCanDelete: VirtualType<(...), (...)>;
                                userCanEdit: VirtualType<(...), (...)>;
                                userCanUpload: VirtualType<(...), (...)>;
                                userIsCreator: VirtualType<(...), (...)>;
                            },
                        >,
                        InferVirtual<
                            {
                                aliases: ObjectType<(...), (...)>;
                                authors: VirtualType<(...), (...)>;
                                averageStarRating: VirtualType<(...), (...)>;
                                canonicalSlugName: StringType<(...)>;
                                createdBy: StringType<(...)>;
                                createdOn: DateType<(...)>;
                                description: VirtualType<(...), (...)>;
                                id: StringType<(...)>;
                                label: ObjectType<(...), (...)>;
                                metadata: ObjectType<(...), (...)>;
                                numberOfReviews: VirtualType<(...), (...)>;
                                originalLanguage: StringType<(...)>;
                                subtitle: VirtualType<(...), (...)>;
                                sync: ObjectType<(...), (...)>;
                                urlID: VirtualType<(...), (...)>;
                                urls: ArrayType<(...), (...)>;
                                userCanDelete: VirtualType<(...), (...)>;
                                userCanEdit: VirtualType<(...), (...)>;
                                userCanUpload: VirtualType<(...), (...)>;
                                userIsCreator: VirtualType<(...), (...)>;
                            },
                        >,
                    > & RevisionFieldMap & {
                        deleteAllRevisions<
                            TThis extends
                                VersionedModelInstance<
                                    InferData<
                                        {
                                            aliases: ...;
                                            authors: ...;
                                            averageStarRating: ...;
                                            canonicalSlugName: ...;
                                            createdBy: ...;
                                            createdOn: ...;
                                            description: ...;
                                            id: ...;
                                            label: ...;
                                            metadata: ...;
                                            numberOfReviews: ...;
                                            originalLanguage: ...;
                                            subtitle: ...;
                                            sync: ...;
                                            urlID: ...;
                                            urls: ...;
                                            userCanDelete: ...;
                                            userCanEdit: ...;
                                            userCanUpload: ...;
                                            userIsCreator: ...;
                                        },
                                    >,
                                    InferVirtual<
                                        {
                                            aliases: ...;
                                            authors: ...;
                                            averageStarRating: ...;
                                            canonicalSlugName: ...;
                                            createdBy: ...;
                                            createdOn: ...;
                                            description: ...;
                                            id: ...;
                                            label: ...;
                                            metadata: ...;
                                            numberOfReviews: ...;
                                            originalLanguage: ...;
                                            subtitle: ...;
                                            sync: ...;
                                            urlID: ...;
                                            urls: ...;
                                            userCanDelete: ...;
                                            userCanEdit: ...;
                                            userCanUpload: ...;
                                            userIsCreator: ...;
                                        },
                                    >,
                                > = VersionedModelInstance<
                                InferData<
                                    {
                                        aliases: ...;
                                        authors: ...;
                                        averageStarRating: ...;
                                        canonicalSlugName: ...;
                                        createdBy: ...;
                                        createdOn: ...;
                                        description: ...;
                                        id: ...;
                                        label: ...;
                                        metadata: ...;
                                        numberOfReviews: ...;
                                        originalLanguage: ...;
                                        subtitle: ...;
                                        sync: ...;
                                        urlID: ...;
                                        urls: ...;
                                        userCanDelete: ...;
                                        userCanEdit: ...;
                                        userCanUpload: ...;
                                        userIsCreator: ...;
                                    },
                                >,
                                InferVirtual<
                                    {
                                        aliases: ...;
                                        authors: ...;
                                        averageStarRating: ...;
                                        canonicalSlugName: ...;
                                        createdBy: ...;
                                        createdOn: ...;
                                        description: ...;
                                        id: ...;
                                        label: ...;
                                        metadata: ...;
                                        numberOfReviews: ...;
                                        originalLanguage: ...;
                                        subtitle: ...;
                                        sync: ...;
                                        urlID: ...;
                                        urls: ...;
                                        userCanDelete: ...;
                                        userCanEdit: ...;
                                        userCanUpload: ...;
                                        userIsCreator: ...;
                                    },
                                >,
                            >,
                        >(
                            this: TThis,
                            user?: RevisionActor,
                            options?: RevisionMetadata,
                        ): Promise<TThis>;
                        newRevision<
                            TThis extends
                                VersionedModelInstance<
                                    InferData<
                                        {
                                            aliases: ...;
                                            authors: ...;
                                            averageStarRating: ...;
                                            canonicalSlugName: ...;
                                            createdBy: ...;
                                            createdOn: ...;
                                            description: ...;
                                            id: ...;
                                            label: ...;
                                            metadata: ...;
                                            numberOfReviews: ...;
                                            originalLanguage: ...;
                                            subtitle: ...;
                                            sync: ...;
                                            urlID: ...;
                                            urls: ...;
                                            userCanDelete: ...;
                                            userCanEdit: ...;
                                            userCanUpload: ...;
                                            userIsCreator: ...;
                                        },
                                    >,
                                    InferVirtual<
                                        {
                                            aliases: ...;
                                            authors: ...;
                                            averageStarRating: ...;
                                            canonicalSlugName: ...;
                                            createdBy: ...;
                                            createdOn: ...;
                                            description: ...;
                                            id: ...;
                                            label: ...;
                                            metadata: ...;
                                            numberOfReviews: ...;
                                            originalLanguage: ...;
                                            subtitle: ...;
                                            sync: ...;
                                            urlID: ...;
                                            urls: ...;
                                            userCanDelete: ...;
                                            userCanEdit: ...;
                                            userCanUpload: ...;
                                            userIsCreator: ...;
                                        },
                                    >,
                                > = VersionedModelInstance<
                                InferData<
                                    {
                                        aliases: ...;
                                        authors: ...;
                                        averageStarRating: ...;
                                        canonicalSlugName: ...;
                                        createdBy: ...;
                                        createdOn: ...;
                                        description: ...;
                                        id: ...;
                                        label: ...;
                                        metadata: ...;
                                        numberOfReviews: ...;
                                        originalLanguage: ...;
                                        subtitle: ...;
                                        sync: ...;
                                        urlID: ...;
                                        urls: ...;
                                        userCanDelete: ...;
                                        userCanEdit: ...;
                                        userCanUpload: ...;
                                        userIsCreator: ...;
                                    },
                                >,
                                InferVirtual<
                                    {
                                        aliases: ...;
                                        authors: ...;
                                        averageStarRating: ...;
                                        canonicalSlugName: ...;
                                        createdBy: ...;
                                        createdOn: ...;
                                        description: ...;
                                        id: ...;
                                        label: ...;
                                        metadata: ...;
                                        numberOfReviews: ...;
                                        originalLanguage: ...;
                                        subtitle: ...;
                                        sync: ...;
                                        urlID: ...;
                                        urls: ...;
                                        userCanDelete: ...;
                                        userCanEdit: ...;
                                        userCanUpload: ...;
                                        userIsCreator: ...;
                                    },
                                >,
                            >,
                        >(
                            this: TThis,
                            user: RevisionActor,
                            options?: RevisionMetadata,
                        ): Promise<TThis>;
                    } & object & ThingRelations & ThingInstanceMethodsMap
                )[],
            >;
        },
        ThingInstanceMethodsMap,
    >,
> = ...