import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.mjs"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.mjs"; import * as core from "../../../../core/index.mjs"; import * as Samsara from "../../../index.mjs"; export declare namespace MediaClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class MediaClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: MediaClient.Options); /** * This endpoint returns a list of all uploaded media (video and still images) matching query parameters, with a maximum query range of one day. Additional media can be retrieved with the [Create a media retrieval request](https://developers.samsara.com/reference/postmediaretrieval) endpoint, and they will be included in the list after they are uploaded. Urls provided by this endpoint expire in 8 hours. * * Rate limit: 5 requests/sec (learn more about rate limits here). * * To use this endpoint, select **Read Media Retrieval** under the Safety & Cameras category when creating or editing an API token. Learn More. * * * **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team. * * @param {Samsara.ListUploadedMediaRequest} request * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Samsara.UnauthorizedError} * @throws {@link Samsara.NotFoundError} * @throws {@link Samsara.MethodNotAllowedError} * @throws {@link Samsara.ContentTooLargeError} * @throws {@link Samsara.TooManyRequestsError} * @throws {@link Samsara.InternalServerError} * @throws {@link Samsara.NotImplementedError} * @throws {@link Samsara.BadGatewayError} * @throws {@link Samsara.ServiceUnavailableError} * @throws {@link Samsara.GatewayTimeoutError} * * @example * await client.media.listUploadedMedia({ * vehicleIds: "vehicleIds", * startTime: "startTime", * endTime: "endTime" * }) */ listUploadedMedia(request: Samsara.ListUploadedMediaRequest, requestOptions?: MediaClient.RequestOptions): core.HttpResponsePromise; private __listUploadedMedia; /** * This endpoint returns media information corresponding to a retrieval ID. Retrieval IDs are associated to prior [media retrieval requests](https://developers.samsara.com/reference/postmediaretrieval). Urls provided by this endpoint expire in 8 hours. * * Rate limit: 5 requests/sec (learn more about rate limits here). * * To use this endpoint, select **Read Media Retrieval** under the Safety & Cameras category when creating or editing an API token. Learn More. * * * **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team. * * @param {Samsara.GetMediaRetrievalRequest} request * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Samsara.UnauthorizedError} * @throws {@link Samsara.NotFoundError} * @throws {@link Samsara.MethodNotAllowedError} * @throws {@link Samsara.ContentTooLargeError} * @throws {@link Samsara.TooManyRequestsError} * @throws {@link Samsara.InternalServerError} * @throws {@link Samsara.NotImplementedError} * @throws {@link Samsara.BadGatewayError} * @throws {@link Samsara.ServiceUnavailableError} * @throws {@link Samsara.GatewayTimeoutError} * * @example * await client.media.getMediaRetrieval({ * retrievalId: "retrievalId" * }) */ getMediaRetrieval(request: Samsara.GetMediaRetrievalRequest, requestOptions?: MediaClient.RequestOptions): core.HttpResponsePromise; private __getMediaRetrieval; /** * This endpoint creates an asynchronous request to upload certain media from a device. The closest available media to the requested timestamp is returned. Images, videos(both high resolution and low resolution) and hyperlapses are supported.Currently, only unblurred media is supported. If a device is offline, the requested media will be uploaded once it comes back online. Quota limits are enforced for media retrievals made through the API. The Create a media retrieval request response includes information about the media retrieval quota remaining for the organization. The media retrieval quota for the organization is reset at the beginning of each month.The quota is expressed using seconds of High Resolution video. 10 still images are equivalent to a 1 second of High Resolution footage. * * Rate limit: 100 requests/min (learn more about rate limits here). * * To use this endpoint, select **Write Media Retrieval** under the Safety & Cameras category when creating or editing an API token. Learn More. * * * **Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our API feedback form. If you encountered an issue or noticed inaccuracies in the API documentation, please submit a case to our support team. * * @param {Samsara.MediaRetrievalPostMediaRetrievalRequestBody} request * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Samsara.UnauthorizedError} * @throws {@link Samsara.NotFoundError} * @throws {@link Samsara.MethodNotAllowedError} * @throws {@link Samsara.ContentTooLargeError} * @throws {@link Samsara.TooManyRequestsError} * @throws {@link Samsara.InternalServerError} * @throws {@link Samsara.NotImplementedError} * @throws {@link Samsara.BadGatewayError} * @throws {@link Samsara.ServiceUnavailableError} * @throws {@link Samsara.GatewayTimeoutError} * * @example * await client.media.postMediaRetrieval({ * endTime: "2019-06-13T19:08:55Z", * mediaType: "image", * startTime: "2019-06-13T19:08:25Z", * vehicleId: "1234" * }) */ postMediaRetrieval(request: Samsara.MediaRetrievalPostMediaRetrievalRequestBody, requestOptions?: MediaClient.RequestOptions): core.HttpResponsePromise; private __postMediaRetrieval; }