import { MVideoAccountLightBlacklistAllFiles, MVideoFormattableDetails, MVideoFullLight, MVideoId, MVideoImmutable, MVideoThumbnail } from '../../types/models';
declare type VideoLoadType = 'for-api' | 'all' | 'only-video' | 'id' | 'none' | 'only-immutable-attributes';
declare function loadVideo(id: number | string, fetchType: 'for-api', userId?: number): Promise<MVideoFormattableDetails>;
declare function loadVideo(id: number | string, fetchType: 'all', userId?: number): Promise<MVideoFullLight>;
declare function loadVideo(id: number | string, fetchType: 'only-immutable-attributes'): Promise<MVideoImmutable>;
declare function loadVideo(id: number | string, fetchType: 'only-video', userId?: number): Promise<MVideoThumbnail>;
declare function loadVideo(id: number | string, fetchType: 'id' | 'none', userId?: number): Promise<MVideoId>;
declare function loadVideo(id: number | string, fetchType: VideoLoadType, userId?: number): Promise<MVideoFullLight | MVideoThumbnail | MVideoId | MVideoImmutable>;
declare type VideoLoadByUrlType = 'all' | 'only-video' | 'only-immutable-attributes';
declare function loadVideoByUrl(url: string, fetchType: 'all'): Promise<MVideoAccountLightBlacklistAllFiles>;
declare function loadVideoByUrl(url: string, fetchType: 'only-immutable-attributes'): Promise<MVideoImmutable>;
declare function loadVideoByUrl(url: string, fetchType: 'only-video'): Promise<MVideoThumbnail>;
declare function loadVideoByUrl(url: string, fetchType: VideoLoadByUrlType): Promise<MVideoAccountLightBlacklistAllFiles | MVideoThumbnail | MVideoImmutable>;
export { VideoLoadType, VideoLoadByUrlType, loadVideo, loadVideoByUrl };
//# sourceMappingURL=video.d.ts.map