import { VideoFileModel } from '../../../models/video/video-file';
import { VideoStreamingPlaylistModel } from '../../../models/video/video-streaming-playlist';
import { PickWith, PickWithOpt } from '../../../../shared/typescript-utils';
import { VideoRedundancyModel } from '../../../models/redundancy/video-redundancy';
import { MVideoUrl } from './video';
import { MVideoFile, MVideoFileVideo } from './video-file';
import { MStreamingPlaylistVideo } from './video-streaming-playlist';
declare type Use<K extends keyof VideoRedundancyModel, M> = PickWith<VideoRedundancyModel, K, M>;
export declare type MVideoRedundancy = Omit<VideoRedundancyModel, 'VideoFile' | 'VideoStreamingPlaylist' | 'Actor'>;
export declare type MVideoRedundancyFileUrl = Pick<MVideoRedundancy, 'fileUrl'>;
export declare type MVideoRedundancyFile = MVideoRedundancy & Use<'VideoFile', MVideoFile>;
export declare type MVideoRedundancyFileVideo = MVideoRedundancy & Use<'VideoFile', MVideoFileVideo>;
export declare type MVideoRedundancyStreamingPlaylistVideo = MVideoRedundancy & Use<'VideoStreamingPlaylist', MStreamingPlaylistVideo>;
export declare type MVideoRedundancyVideo = MVideoRedundancy & Use<'VideoFile', MVideoFileVideo> & Use<'VideoStreamingPlaylist', MStreamingPlaylistVideo>;
export declare type MVideoRedundancyAP = MVideoRedundancy & PickWithOpt<VideoRedundancyModel, 'VideoFile', MVideoFile & PickWith<VideoFileModel, 'Video', MVideoUrl>> & PickWithOpt<VideoRedundancyModel, 'VideoStreamingPlaylist', PickWith<VideoStreamingPlaylistModel, 'Video', MVideoUrl>>;
export {};
//# sourceMappingURL=video-redundancy.d.ts.map