+import { Job } from 'bullmq'
+import { move, remove, stat } from 'fs-extra'
+import { retryTransactionWrapper } from '@server/helpers/database-utils'
+import { YoutubeDLWrapper } from '@server/helpers/youtube-dl'
+import { CONFIG } from '@server/initializers/config'
+import { isPostImportVideoAccepted } from '@server/lib/moderation'
+import { generateWebTorrentVideoFilename } from '@server/lib/paths'
+import { Hooks } from '@server/lib/plugins/hooks'
+import { ServerConfigManager } from '@server/lib/server-config-manager'
+import { createOptimizeOrMergeAudioJobs } from '@server/lib/transcoding/create-transcoding-job'
+import { isAbleToUploadVideo } from '@server/lib/user'
+import { buildMoveToObjectStorageJob } from '@server/lib/video'
+import { VideoPathManager } from '@server/lib/video-path-manager'
+import { buildNextVideoState } from '@server/lib/video-state'
+import { ThumbnailModel } from '@server/models/video/thumbnail'
+import { MUserId, MVideoFile, MVideoFullLight } from '@server/types/models'
+import { MVideoImport, MVideoImportDefault, MVideoImportDefaultFiles, MVideoImportVideo } from '@server/types/models/video/video-import'
+import { getLowercaseExtension } from '@shared/core-utils'
+import { ffprobePromise, getVideoStreamDimensionsInfo, getVideoStreamDuration, getVideoStreamFPS, isAudioFile } from '@shared/ffmpeg'
+import {
+ ThumbnailType,
+ VideoImportPayload,
+ VideoImportPreventExceptionResult,
+ VideoImportState,
+ VideoImportTorrentPayload,
+ VideoImportTorrentPayloadType,
+ VideoImportYoutubeDLPayload,
+ VideoImportYoutubeDLPayloadType,
+ VideoResolution,
+ VideoState
+} from '@shared/models'