import BitmovinResponse from './BitmovinResponse';
import ErrorDetails from './ErrorDetails';
import Message from './Message';
import Status from './Status';
import Subtask from './Subtask';
/**
 * @export
 * @class Task
 */
export declare class Task extends BitmovinResponse {
    /**
     * Current status (required)
     * @type {Status}
     * @memberof Task
     */
    status?: Status;
    /**
     * Estimated ETA in seconds
     * @type {number}
     * @memberof Task
     */
    eta?: number;
    /**
     * Progress in percent
     * @type {number}
     * @memberof Task
     */
    progress?: number;
    /**
     * List of subtasks
     * @type {Subtask[]}
     * @memberof Task
     */
    subtasks?: Subtask[];
    /**
     * Task specific messages
     * @type {Message[]}
     * @memberof Task
     */
    messages?: Message[];
    /**
     * Timestamp when the task was created, returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ
     * @type {Date}
     * @memberof Task
     */
    createdAt?: Date;
    /**
     * Timestamp when the task status changed to \"QUEUED\", returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ
     * @type {Date}
     * @memberof Task
     */
    queuedAt?: Date;
    /**
     * Timestamp when the task status changed to \"RUNNING\", returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ
     * @type {Date}
     * @memberof Task
     */
    runningAt?: Date;
    /**
     * Timestamp when the subtask status changed to a final state like 'FINISHED', 'ERROR', 'CANCELED', returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ  Note that this timestamp might be inaccurate for tasks which ran prior to the [1.50.0 REST API release](https://bitmovin.com/docs/encoding/changelogs/rest).
     * @type {Date}
     * @memberof Task
     */
    finishedAt?: Date;
    /**
     * Timestamp when the subtask status changed to 'ERROR', returned as UTC expressed in ISO 8601 format: YYYY-MM-DDThh:mm:ssZ  Note that this timestamp is deprecated and is equivalent to finishedAt in case of an 'ERROR'.
     * @type {Date}
     * @memberof Task
     */
    errorAt?: Date;
    /**
     * Additional optional error details
     * @type {ErrorDetails}
     * @memberof Task
     */
    error?: ErrorDetails;
    constructor(obj?: Partial<Task>);
}
export default Task;
