import { PickWith, PickWithOpt } from '../../../../shared/typescript-utils';
import { VideoCommentModel } from '../../../models/video/video-comment';
import { MAccountDefault, MAccountFormattable, MAccountUrl } from '../account';
import { MVideo, MVideoAccountLight, MVideoFeed, MVideoIdUrl, MVideoUrl } from './video';
declare type Use<K extends keyof VideoCommentModel, M> = PickWith<VideoCommentModel, K, M>;
export declare type MComment = Omit<VideoCommentModel, 'OriginVideoComment' | 'InReplyToVideoComment' | 'Video' | 'Account'>;
export declare type MCommentTotalReplies = MComment & {
    totalReplies?: number;
};
export declare type MCommentId = Pick<MComment, 'id'>;
export declare type MCommentUrl = Pick<MComment, 'url'>;
export declare type MCommentOwner = MComment & Use<'Account', MAccountDefault>;
export declare type MCommentVideo = MComment & Use<'Video', MVideoAccountLight>;
export declare type MCommentReply = MComment & Use<'InReplyToVideoComment', MComment>;
export declare type MCommentOwnerVideo = MComment & Use<'Account', MAccountDefault> & Use<'Video', MVideoAccountLight>;
export declare type MCommentOwnerVideoReply = MComment & Use<'Account', MAccountDefault> & Use<'Video', MVideoAccountLight> & Use<'InReplyToVideoComment', MComment>;
export declare type MCommentOwnerReplyVideoLight = MComment & Use<'Account', MAccountDefault> & Use<'InReplyToVideoComment', MComment> & Use<'Video', MVideoIdUrl>;
export declare type MCommentOwnerVideoFeed = MCommentOwner & Use<'Video', MVideoFeed>;
export declare type MCommentAPI = MComment & {
    totalReplies: number;
};
export declare type MCommentFormattable = MCommentTotalReplies & Use<'Account', MAccountFormattable>;
export declare type MCommentAdminFormattable = MComment & Use<'Account', MAccountFormattable> & Use<'Video', MVideo>;
export declare type MCommentAP = MComment & Use<'Account', MAccountUrl> & PickWithOpt<VideoCommentModel, 'Video', MVideoUrl> & PickWithOpt<VideoCommentModel, 'InReplyToVideoComment', MCommentUrl>;
export {};
//# sourceMappingURL=video-comment.d.ts.map