import { VideoFile, VideosCommonQueryAfterSanitize } from '../../../../shared/models';
import { VideoObject } from '../../../../shared/models/activitypub/objects';
import { Video, VideoDetails } from '../../../../shared/models/videos';
import { MVideoAP, MVideoFormattable, MVideoFormattableDetails } from '../../../types/models';
import { MVideoFileRedundanciesOpt } from '../../../types/models/video/video-file';
export declare type VideoFormattingJSONOptions = {
    completeDescription?: boolean;
    additionalAttributes?: {
        state?: boolean;
        waitTranscoding?: boolean;
        scheduledUpdate?: boolean;
        blacklistInfo?: boolean;
        files?: boolean;
        blockedOwner?: boolean;
    };
};
declare function guessAdditionalAttributesFromQuery(query: VideosCommonQueryAfterSanitize): VideoFormattingJSONOptions;
declare function videoModelToFormattedJSON(video: MVideoFormattable, options?: VideoFormattingJSONOptions): Video;
declare function videoModelToFormattedDetailsJSON(video: MVideoFormattableDetails): VideoDetails;
declare function videoFilesModelToFormattedJSON(video: MVideoFormattable, videoFiles: MVideoFileRedundanciesOpt[], includeMagnet?: boolean): VideoFile[];
declare function videoModelToActivityPubObject(video: MVideoAP): VideoObject;
declare function getActivityStreamDuration(duration: number): string;
declare function getCategoryLabel(id: number): any;
declare function getLicenceLabel(id: number): any;
declare function getLanguageLabel(id: string): string;
declare function getPrivacyLabel(id: number): any;
declare function getStateLabel(id: number): any;
export { videoModelToFormattedJSON, videoModelToFormattedDetailsJSON, videoFilesModelToFormattedJSON, videoModelToActivityPubObject, getActivityStreamDuration, guessAdditionalAttributesFromQuery, getCategoryLabel, getLicenceLabel, getLanguageLabel, getPrivacyLabel, getStateLabel };
//# sourceMappingURL=video-format-utils.d.ts.map