+import { Job } from 'bull'
+import { move, remove, stat } from 'fs-extra'
+import { retryTransactionWrapper } from '@server/helpers/database-utils'
+import { YoutubeDLWrapper } from '@server/helpers/youtube-dl'
+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 { isAbleToUploadVideo } from '@server/lib/user'
+import { addMoveToObjectStorageJob, addOptimizeOrMergeAudioJob } 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 { MVideoImportDefault, MVideoImportDefaultFiles, MVideoImportVideo } from '@server/types/models/video/video-import'
+import { getLowercaseExtension } from '@shared/core-utils'
+import { isAudioFile } from '@shared/extra-utils'
+import {
+ ThumbnailType,
+ VideoImportPayload,
+ VideoImportState,
+ VideoImportTorrentPayload,
+ VideoImportTorrentPayloadType,
+ VideoImportYoutubeDLPayload,
+ VideoImportYoutubeDLPayloadType,
+ VideoResolution,
+ VideoState
+} from '@shared/models'
+import { ffprobePromise, getDurationFromVideoFile, getVideoFileFPS, getVideoFileResolution } from '../../../helpers/ffprobe-utils'