/**
 * Synapse REST API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { TaskExecutionDetails } from './TaskExecutionDetails';
/**
 * Tracks the dynamic lifecycle and progress of a CurationTask.
 * @export
 * @interface TaskStatus
 */
export interface TaskStatus {
    /**
     * The unique identifier of the associated curation task.
     * @type {number}
     * @memberof TaskStatus
     */
    taskId?: number;
    /**
     * The state of a curation task in its lifecycle.
     * @type {string}
     * @memberof TaskStatus
     */
    state?: TaskStatusStateEnum;
    /**
     *
     * @type {TaskExecutionDetails}
     * @memberof TaskStatus
     */
    executionDetails?: TaskExecutionDetails;
    /**
     * The principal ID of the user who last updated the status.
     * @type {string}
     * @memberof TaskStatus
     */
    lastUpdatedBy?: string;
    /**
     * Timestamp of when the status was last updated.
     * @type {string}
     * @memberof TaskStatus
     */
    lastUpdatedOn?: string;
    /**
     * Timestamp by which the task should be completed. Null if no due date has been set.
     * @type {string}
     * @memberof TaskStatus
     */
    dueDate?: string;
    /**
     * Optimistic concurrency control token for the task status.
     * @type {string}
     * @memberof TaskStatus
     */
    etag?: string;
}
/**
 * @export
 */
export declare const TaskStatusStateEnum: {
    readonly NOT_STARTED: "NOT_STARTED";
    readonly IN_PROGRESS: "IN_PROGRESS";
    readonly EXECUTING: "EXECUTING";
    readonly IN_REVIEW: "IN_REVIEW";
    readonly COMPLETED: "COMPLETED";
    readonly CANCELED: "CANCELED";
};
export type TaskStatusStateEnum = typeof TaskStatusStateEnum[keyof typeof TaskStatusStateEnum];
/**
 * Check if a given object implements the TaskStatus interface.
 */
export declare function instanceOfTaskStatus(value: object): value is TaskStatus;
export declare function TaskStatusFromJSON(json: any): TaskStatus;
export declare function TaskStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): TaskStatus;
export declare function TaskStatusToJSON(json: any): TaskStatus;
export declare function TaskStatusToJSONTyped(value?: TaskStatus | null, ignoreDiscriminator?: boolean): any;
