import { VideoFileModel } from '../../../../models/video/video-file';
import { VideoStreamingPlaylistModel } from '../../../../models/video/video-streaming-playlist';
import { FilteredModelAttributes } from '../../../../types';
import { MChannelId, MStreamingPlaylistVideo, MVideo, MVideoId } from '../../../../types/models';
import { ActivityTagObject, ActivityUrlObject, VideoObject, VideoPrivacy } from '../../../../../shared/models';
declare function getThumbnailFromIcons(videoObject: VideoObject): import("../../../../../shared/models").ActivityIconObject;
declare function getPreviewFromIcons(videoObject: VideoObject): import("../../../../../shared/models").ActivityIconObject;
declare function getTagsFromObject(videoObject: VideoObject): string[];
declare function getFileAttributesFromUrl(videoOrPlaylist: MVideo | MStreamingPlaylistVideo, urls: (ActivityTagObject | ActivityUrlObject)[]): FilteredModelAttributes<VideoFileModel>[];
declare function getStreamingPlaylistAttributesFromObject(video: MVideoId, videoObject: VideoObject): (Partial<import("../../../../../shared/typescript-utils").AttributesOnly<VideoStreamingPlaylistModel>> & {
    id?: any;
    createdAt?: any;
    updatedAt?: any;
    deletedAt?: any;
    version?: any;
} & {
    tagAPObject?: ActivityTagObject[];
})[];
declare function getLiveAttributesFromObject(video: MVideoId, videoObject: VideoObject): {
    saveReplay: boolean;
    permanentLive: boolean;
    videoId: any;
};
declare function getCaptionAttributesFromObject(video: MVideoId, videoObject: VideoObject): {
    videoId: any;
    filename: string;
    language: string;
    fileUrl: string;
}[];
declare function getVideoAttributesFromObject(videoChannel: MChannelId, videoObject: VideoObject, to?: string[]): {
    name: string;
    uuid: string;
    url: string;
    category: number;
    licence: number;
    language: string;
    description: string;
    support: string;
    nsfw: boolean;
    commentsEnabled: boolean;
    downloadEnabled: boolean;
    waitTranscoding: boolean;
    isLive: boolean;
    state: import("../../../../../shared/models").VideoState;
    channelId: any;
    duration: number;
    createdAt: Date;
    publishedAt: Date;
    originallyPublishedAt: Date;
    updatedAt: Date;
    views: number;
    likes: number;
    dislikes: number;
    remote: boolean;
    privacy: VideoPrivacy;
};
export { getThumbnailFromIcons, getPreviewFromIcons, getTagsFromObject, getFileAttributesFromUrl, getStreamingPlaylistAttributesFromObject, getLiveAttributesFromObject, getCaptionAttributesFromObject, getVideoAttributesFromObject };
//# sourceMappingURL=object-to-model-attributes.d.ts.map