import BaseResource from '../../BaseResource';
import type * as ApiTypes from '../ApiTypes';
import type * as RawApiTypes from '../RawApiTypes';
export default class UploadTrack extends BaseResource {
    static readonly TYPE: "upload_track";
    /**
     * Create a new upload track
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    create(uploadId: string | ApiTypes.UploadData, body: ApiTypes.UploadTrackCreateSchema): Promise<ApiTypes.UploadTrack>;
    /**
     * Create a new upload track
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/create
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawCreate(uploadId: string, body: RawApiTypes.UploadTrackCreateSchema): Promise<RawApiTypes.UploadTrackCreateJobSchema>;
    /**
     * List upload tracks
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    list(uploadId: string | ApiTypes.UploadData): Promise<ApiTypes.UploadTrackInstancesTargetSchema>;
    /**
     * List upload tracks
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/instances
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawList(uploadId: string): Promise<RawApiTypes.UploadTrackInstancesTargetSchema>;
    /**
     * Delete an upload track
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    destroy(uploadId: string | ApiTypes.UploadData, uploadTrackId: string | ApiTypes.UploadTrackData): Promise<ApiTypes.UploadTrack>;
    /**
     * Delete an upload track
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/destroy
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     */
    rawDestroy(uploadId: string, uploadTrackId: string): Promise<RawApiTypes.UploadTrackDestroyJobSchema>;
    /**
     * Automatically generate a subtitles track
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/generate_subtitles
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     *
     * @deprecated This API call is to be considered private and might change without notice
     */
    generateSubtitles(uploadId: string | ApiTypes.UploadData, body: ApiTypes.UploadTrackGenerateSubtitlesSchema): Promise<ApiTypes.UploadTrack>;
    /**
     * Automatically generate a subtitles track
     *
     * Read more: https://www.datocms.com/docs/content-management-api/resources/upload-track/generate_subtitles
     *
     * @throws {ApiError}
     * @throws {TimeoutError}
     *
     * @deprecated This API call is to be considered private and might change without notice
     */
    rawGenerateSubtitles(uploadId: string, body: RawApiTypes.UploadTrackGenerateSubtitlesSchema): Promise<RawApiTypes.UploadTrackGenerateSubtitlesJobSchema>;
}
