use conjure_http::endpoint;
/// The video service manages individual video files and their metadata.
#[conjure_http::conjure_client(name = "VideoFileService")]
pub trait VideoFileService<
    #[response_body]
    I: Iterator<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Create and persist a video file entity with the given metadata
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files",
        name = "create",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn create(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::CreateVideoFileRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Returns video file metadata associated with a video file RID.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "get",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Returns all video files and their metadata associated with the given RIDs
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/batchGet",
        name = "batchGet",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    fn batch_get(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_file_rids: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
    ) -> Result<
        std::collections::BTreeSet<
            super::super::super::super::objects::scout::video::api::VideoFile,
        >,
        conjure_http::private::Error,
    >;
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/list-files-in-video",
        name = "listFilesInVideo",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    fn list_files_in_video(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        std::collections::BTreeSet<
            super::super::super::super::objects::scout::video::api::VideoFile,
        >,
        conjure_http::private::Error,
    >;
    /// Returns a paginated list of all video files and their metadata associated with the given video RID.
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/list-files-in-video-paginated",
        name = "listFilesInVideoPaginated",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn list_files_in_video_paginated(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_rid: &super::super::super::super::objects::scout::video::api::ListFilesInVideoRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::ListFilesInVideoResponse,
        conjure_http::private::Error,
    >;
    /// Updates the metadata for a video file associated with the given RID.
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "update",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn update(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::UpdateVideoFileRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Permanently deletes a video file and all associated segments from the database.
    /// This operation cannot be undone.
    #[endpoint(
        method = DELETE,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "delete",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn delete(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}/archive",
        name = "archive",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn archive(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}/unarchive",
        name = "unarchive",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn unarchive(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    /// Get the latest ingest status for a given video file by RID.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/ingest-status",
        name = "getIngestStatus",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::GetIngestStatusResponse,
        conjure_http::private::Error,
    >;
    /// Get the latest ingest status for a set of given video files by RID.
    #[endpoint(
        method = POST,
        path = "/video-files/v1/videos/batch-get-ingest-status",
        name = "batchGetIngestStatus",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    fn batch_get_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_file_rids: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
    ) -> Result<
        std::collections::BTreeMap<
            conjure_object::ResourceIdentifier,
            super::super::super::super::objects::scout::video::api::VideoFileIngestStatus,
        >,
        conjure_http::private::Error,
    >;
    /// Update the latest ingest status for a given video file by RID.
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/videos/{videoFileRid}/ingest-status",
        name = "updateIngestStatus",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    fn update_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatusRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Returns the min and max absolute and media timestamps for each segment in a video file.
    /// To be used during frame-timestamp mapping when playing back videos.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/segment-summaries",
        name = "getSegmentSummaries",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    fn get_segment_summaries(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
        conjure_http::private::Error,
    >;
    /// Generate an HLS playlist for a video file with the given RID to enable playback.
    /// The HLS playlist will contain links to all of the video segments in the video in sequential order.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/playlist",
        name = "getPlaylist",
        accept = conjure_http::client::conjure::BinaryResponseDeserializer
    )]
    fn get_playlist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<I, conjure_http::private::Error>;
}
/// The video service manages individual video files and their metadata.
#[conjure_http::conjure_client(name = "VideoFileService")]
pub trait AsyncVideoFileService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Create and persist a video file entity with the given metadata
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files",
        name = "create",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn create(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::CreateVideoFileRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Returns video file metadata associated with a video file RID.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "get",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Returns all video files and their metadata associated with the given RIDs
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/batchGet",
        name = "batchGet",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn batch_get(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_file_rids: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
    ) -> Result<
        std::collections::BTreeSet<
            super::super::super::super::objects::scout::video::api::VideoFile,
        >,
        conjure_http::private::Error,
    >;
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/list-files-in-video",
        name = "listFilesInVideo",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn list_files_in_video(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        std::collections::BTreeSet<
            super::super::super::super::objects::scout::video::api::VideoFile,
        >,
        conjure_http::private::Error,
    >;
    /// Returns a paginated list of all video files and their metadata associated with the given video RID.
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/list-files-in-video-paginated",
        name = "listFilesInVideoPaginated",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn list_files_in_video_paginated(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_rid: &super::super::super::super::objects::scout::video::api::ListFilesInVideoRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::ListFilesInVideoResponse,
        conjure_http::private::Error,
    >;
    /// Updates the metadata for a video file associated with the given RID.
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "update",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn update(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::UpdateVideoFileRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Permanently deletes a video file and all associated segments from the database.
    /// This operation cannot be undone.
    #[endpoint(
        method = DELETE,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "delete",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn delete(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}/archive",
        name = "archive",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn archive(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}/unarchive",
        name = "unarchive",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn unarchive(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    /// Get the latest ingest status for a given video file by RID.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/ingest-status",
        name = "getIngestStatus",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::GetIngestStatusResponse,
        conjure_http::private::Error,
    >;
    /// Get the latest ingest status for a set of given video files by RID.
    #[endpoint(
        method = POST,
        path = "/video-files/v1/videos/batch-get-ingest-status",
        name = "batchGetIngestStatus",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn batch_get_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_file_rids: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
    ) -> Result<
        std::collections::BTreeMap<
            conjure_object::ResourceIdentifier,
            super::super::super::super::objects::scout::video::api::VideoFileIngestStatus,
        >,
        conjure_http::private::Error,
    >;
    /// Update the latest ingest status for a given video file by RID.
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/videos/{videoFileRid}/ingest-status",
        name = "updateIngestStatus",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn update_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatusRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Returns the min and max absolute and media timestamps for each segment in a video file.
    /// To be used during frame-timestamp mapping when playing back videos.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/segment-summaries",
        name = "getSegmentSummaries",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn get_segment_summaries(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
        conjure_http::private::Error,
    >;
    /// Generate an HLS playlist for a video file with the given RID to enable playback.
    /// The HLS playlist will contain links to all of the video segments in the video in sequential order.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/playlist",
        name = "getPlaylist",
        accept = conjure_http::client::conjure::BinaryResponseDeserializer
    )]
    async fn get_playlist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<I, conjure_http::private::Error>;
}
/// The video service manages individual video files and their metadata.
#[conjure_http::conjure_client(name = "VideoFileService", local)]
pub trait LocalAsyncVideoFileService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Create and persist a video file entity with the given metadata
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files",
        name = "create",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn create(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::CreateVideoFileRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Returns video file metadata associated with a video file RID.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "get",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Returns all video files and their metadata associated with the given RIDs
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/batchGet",
        name = "batchGet",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn batch_get(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_file_rids: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
    ) -> Result<
        std::collections::BTreeSet<
            super::super::super::super::objects::scout::video::api::VideoFile,
        >,
        conjure_http::private::Error,
    >;
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/list-files-in-video",
        name = "listFilesInVideo",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn list_files_in_video(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        std::collections::BTreeSet<
            super::super::super::super::objects::scout::video::api::VideoFile,
        >,
        conjure_http::private::Error,
    >;
    /// Returns a paginated list of all video files and their metadata associated with the given video RID.
    #[endpoint(
        method = POST,
        path = "/video-files/v1/video-files/list-files-in-video-paginated",
        name = "listFilesInVideoPaginated",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn list_files_in_video_paginated(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_rid: &super::super::super::super::objects::scout::video::api::ListFilesInVideoRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::ListFilesInVideoResponse,
        conjure_http::private::Error,
    >;
    /// Updates the metadata for a video file associated with the given RID.
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "update",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn update(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::UpdateVideoFileRequest,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::VideoFile,
        conjure_http::private::Error,
    >;
    /// Permanently deletes a video file and all associated segments from the database.
    /// This operation cannot be undone.
    #[endpoint(
        method = DELETE,
        path = "/video-files/v1/video-files/{videoFileRid}",
        name = "delete",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn delete(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}/archive",
        name = "archive",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn archive(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/video-files/{videoFileRid}/unarchive",
        name = "unarchive",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn unarchive(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<(), conjure_http::private::Error>;
    /// Get the latest ingest status for a given video file by RID.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/ingest-status",
        name = "getIngestStatus",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        super::super::super::super::objects::scout::video::api::GetIngestStatusResponse,
        conjure_http::private::Error,
    >;
    /// Get the latest ingest status for a set of given video files by RID.
    #[endpoint(
        method = POST,
        path = "/video-files/v1/videos/batch-get-ingest-status",
        name = "batchGetIngestStatus",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn batch_get_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        video_file_rids: &std::collections::BTreeSet<conjure_object::ResourceIdentifier>,
    ) -> Result<
        std::collections::BTreeMap<
            conjure_object::ResourceIdentifier,
            super::super::super::super::objects::scout::video::api::VideoFileIngestStatus,
        >,
        conjure_http::private::Error,
    >;
    /// Update the latest ingest status for a given video file by RID.
    #[endpoint(
        method = PUT,
        path = "/video-files/v1/videos/{videoFileRid}/ingest-status",
        name = "updateIngestStatus",
        accept = conjure_http::client::conjure::EmptyResponseDeserializer
    )]
    async fn update_ingest_status(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::scout::video::api::UpdateIngestStatusRequest,
    ) -> Result<(), conjure_http::private::Error>;
    /// Returns the min and max absolute and media timestamps for each segment in a video file.
    /// To be used during frame-timestamp mapping when playing back videos.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/segment-summaries",
        name = "getSegmentSummaries",
        accept = conjure_http::client::conjure::CollectionResponseDeserializer
    )]
    async fn get_segment_summaries(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<
        Vec<super::super::super::super::objects::scout::video::api::SegmentSummary>,
        conjure_http::private::Error,
    >;
    /// Generate an HLS playlist for a video file with the given RID to enable playback.
    /// The HLS playlist will contain links to all of the video segments in the video in sequential order.
    #[endpoint(
        method = GET,
        path = "/video-files/v1/video-files/{videoFileRid}/playlist",
        name = "getPlaylist",
        accept = conjure_http::client::conjure::BinaryResponseDeserializer
    )]
    async fn get_playlist(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[path(
            name = "videoFileRid",
            encoder = conjure_http::client::conjure::PlainEncoder
        )]
        video_file_rid: &conjure_object::ResourceIdentifier,
    ) -> Result<I, conjure_http::private::Error>;
}
