import { Metadata } from "@grpc/grpc-js"; import { Observable } from "rxjs"; import type { Empty } from "../../google/protobuf/empty"; export declare const protobufPackage = "video"; export interface Category { name: string; id: string; } export interface SaveImageRequest { title: string; url: string; duration: number; category: string[]; hashVideo: string; } export interface SaveImageResponse { id: string; title: string; duration: number; url: string; previewUrl: string; ownerId: string; hashVideo: string; categories: Category[]; quality720: string; quality1080: string; description: string; createdAt: string; } export interface UploadImageRequest { video: VideoUpload | undefined; preview: VideoUpload | undefined; title: string; description: string; duration: string; category: string[]; } export interface VideoUpload { binary: Uint8Array; mime: string; originalName: string; } export interface UploadImageResponse { imageUrl: string; videoHash: string; } export interface VideoRequest { pageSize: number; page: number; field: string; sort: string; search?: string | undefined; userId?: string | undefined; } export interface VideoSearchRequest { pageSize: number; page: number; field: string; sort: string; search?: string | undefined; categories: string[]; } export interface VideoResponse { videos: Video[]; } export interface GetWatchedVideoResponse { videos: Video[]; } export interface Video { id: string; title: string; duration: number; url: string; createdAt: string; isPinned: boolean; view: number; ownerId: string; type?: string | undefined; likes?: number | undefined; viewDate?: number | undefined; comments?: number | undefined; description?: string | undefined; previewUrl?: string | undefined; categories: Category[]; } export interface PinnedVideoRequest { id: string; isPinned: boolean; } export interface GetVideoIdRequest { id: string; } export interface UpdateViewRequest { id: string; } export interface UpdateOrCreateReactionRequest { type: string; videoId: string; } export interface GetWatchedVideoRequest { id: string; type: string; } export interface GetStudioInfoResponse { topView: Video | undefined; topLiked: Video | undefined; topComments: Video | undefined; } export interface GetStatisticInfoRequest { dates: string[]; } export interface GetStatisticInfoResponse { viewsStatistic: ViewCount | undefined; likesStatistic: LikeCount | undefined; commentsStatistic: CommentCount | undefined; } export interface ViewCount { views: number; newviews: number; } export interface LikeCount { likes: number; newlikes: number; } export interface CommentCount { comment: number; newcomment: number; } export interface CreateCommentRequest { text: string; videoId: string; } export interface CreateCommentResponse { videoId: string; text: string; userId: string; id: string; createdAt: string; updatedAt: string; } export interface VideoCommentsResponse { id: string; title: string; duration: number; url: string; createdAt: string; isPinned: boolean; view: number; ownerId: string; type?: string | undefined; likes?: number | undefined; viewDate?: string | undefined; dislikes?: number | undefined; description: string; comments: Comment[]; categories: Category[]; } export interface Comment { id: string; userId: string; text: string; createdAt: string; likes: number; } export interface CreateLikeCommentRequest { id: string; } export interface RemoveCommentRequest { id: string; } export interface UploadImgRequest { binary: Uint8Array; mime: string; originalName: string; type?: string | undefined; } export interface UploadImgResponse { imageUrl: string; } export interface PinnedVideoResponse { status: number; error: string[]; } export interface UpdateViewResponse { status: number; error: string[]; } export interface UpdateOrCreateReactionResponse { status: number; error: string[]; } export interface CreateLikeCommentResponse { status: number; error: string[]; } export interface RemoveCommentResponse { status: number; error: string[]; } export interface AddReportVideoRequest { reason: string; videoId: string; description?: string | undefined; } export interface AddReportVideoResponse { reason: string; videoId: string; userId: string; id: string; createdAt: string; updatedAt: string; } export interface CountUsersVideoResponse { countVideos: CountVideos[]; } export interface CountVideos { ownerId: string; count: number; } export interface GetUserContentByIdRequest { id: string; } export interface GetUserContentByIdResponse { rows: UserContent[]; count: number; } export interface UserContent { id: string; title: string; duration: number; url: string; createdAt: string; isPinned: boolean; view: number; ownerId: string; type?: string | undefined; countComments?: number | undefined; countViews?: number | undefined; countLikes?: number | undefined; } export interface GetReportsResponse { reports: Reports[]; userIds: string[]; } export interface Reports { id: string; createdAt: string; reason: string; description: string; userId: string; videoId: string; videoTitle: string; videoOwnerId: string; report: number; status: string; videoUpload: string; } export interface GetReportsRequest { dates: string[]; reason?: string | undefined; title?: string | undefined; videoId?: string | undefined; } export interface UpdateStatusReportRequest { id: string; status: string; } export interface CountUsersVideoRequest { userIds: string[]; } export interface UpdateVideoByIdRequest { id: string; title: string; description: string; category: string; } export interface VideoService { uploadVideo(request: UploadImageRequest, metadata?: Metadata): Observable; saveVideo(request: SaveImageRequest, metadata?: Metadata): Observable; getVideo(request: VideoRequest, metadata?: Metadata): Observable; getSearchVideo(request: VideoSearchRequest, metadata?: Metadata): Observable; pinnedVideo(request: PinnedVideoRequest, metadata?: Metadata): Observable; getVideoById(request: GetVideoIdRequest, metadata?: Metadata): Observable; updateView(request: UpdateViewRequest, metadata?: Metadata): Observable; updateOrCreateReaction(request: UpdateOrCreateReactionRequest, metadata?: Metadata): Observable; getWatchedVideo(request: GetWatchedVideoRequest, metadata?: Metadata): Observable; getStudioInfo(request: Empty, metadata?: Metadata): Observable; getStatisticInfo(request: GetStatisticInfoRequest, metadata?: Metadata): Observable; createComment(request: CreateCommentRequest, metadata?: Metadata): Observable; createLikeComment(request: CreateLikeCommentRequest, metadata?: Metadata): Observable; removeComment(request: RemoveCommentRequest, metadata?: Metadata): Observable; uploadImg(request: UploadImgRequest, metadata?: Metadata): Observable; addReportVideo(request: AddReportVideoRequest, metadata?: Metadata): Observable; countUsersVideo(request: CountUsersVideoRequest, metadata?: Metadata): Observable; getUserContentById(request: GetUserContentByIdRequest, metadata?: Metadata): Observable; getReports(request: GetReportsRequest, metadata?: Metadata): Observable; getReviewedReports(request: Empty, metadata?: Metadata): Observable; updateStatusReport(request: UpdateStatusReportRequest, metadata?: Metadata): Observable; getVideoContent(request: Empty, metadata?: Metadata): Observable; updateVideoById(request: UpdateVideoByIdRequest, metadata?: Metadata): Observable; } //# sourceMappingURL=video.d.ts.map