import BaseResource from '../../BaseResource';
import type * as SchemaTypes from '../SchemaTypes';
import type * as SimpleSchemaTypes from '../SimpleSchemaTypes';
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 | SimpleSchemaTypes.UploadData, body: SimpleSchemaTypes.UploadTrackCreateSchema): Promise<SimpleSchemaTypes.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: SchemaTypes.UploadTrackCreateSchema): Promise<SchemaTypes.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 | SimpleSchemaTypes.UploadData): Promise<SimpleSchemaTypes.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<SchemaTypes.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 | SimpleSchemaTypes.UploadData, uploadTrackId: string | SimpleSchemaTypes.UploadTrackData): Promise<SimpleSchemaTypes.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<SchemaTypes.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 | SimpleSchemaTypes.UploadData, body: SimpleSchemaTypes.UploadTrackGenerateSubtitlesSchema): Promise<SimpleSchemaTypes.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: SchemaTypes.UploadTrackGenerateSubtitlesSchema): Promise<SchemaTypes.UploadTrackGenerateSubtitlesJobSchema>;
}
