import { Video, VideoDetails, VideoFile, VideoObject, VideosCommonQueryAfterSanitize } from '../../../../shared/models';
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[], options?: {
    includeMagnet?: boolean;
}): VideoFile[];
declare function videoModelToActivityPubObject(video: MVideoAP): VideoObject;
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, guessAdditionalAttributesFromQuery, getCategoryLabel, getLicenceLabel, getLanguageLabel, getPrivacyLabel, getStateLabel };
//# sourceMappingURL=video-format-utils.d.ts.map