-import * as Sequelize from 'sequelize'
-import { BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript'
-import { ActorModel } from '../activitypub/actor'
+import { literal, Op, QueryTypes, Transaction } from 'sequelize'
+import { AllowNull, BelongsTo, Column, CreatedAt, DataType, ForeignKey, Is, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript'
+import { forceNumber } from '@shared/core-utils'
+import { AttributesOnly } from '@shared/typescript-utils'
+import { isActivityPubUrlValid } from '../../helpers/custom-validators/activitypub/misc'
+import { CONSTRAINTS_FIELDS } from '../../initializers/constants'
+import { MActorDefault, MActorFollowersUrl, MActorId } from '../../types/models'
+import { MVideoShareActor, MVideoShareFull } from '../../types/models/video'
+import { ActorModel } from '../actor/actor'
+import { buildLocalActorIdsIn, throwIfNotValid } from '../shared'