/**
 * 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 { AnnotationAnnotations } from './AnnotationAnnotations';
import type { V2Annotations } from './V2Annotations';
/**
 * A SubmissionStatus is a secondary, mutable object associated with a Submission. This object should be used to contain scoring data about the Submission.
 * @export
 * @interface ModelSubmissionStatus
 */
export interface ModelSubmissionStatus {
    /**
     * The unique, immutable Synapse ID of the Submission.
     * @type {string}
     * @memberof ModelSubmissionStatus
     */
    id?: string;
    /**
     * Synapse employs an Optimistic Concurrency Control (OCC) scheme to handle concurrent updates. The eTag changes every time an SubmissionStatus is updated; it is used to detect when a client's copy of an SubmissionStatus is out-of-date.
     * @type {string}
     * @memberof ModelSubmissionStatus
     */
    etag?: string;
    /**
     * The date on which this SubmissionStatus was last modified.
     * @type {string}
     * @memberof ModelSubmissionStatus
     */
    modifiedOn?: string;
    /**
     * The possible states of a Synapse Submission.
     * @type {string}
     * @memberof ModelSubmissionStatus
     */
    status?: ModelSubmissionStatusStatusEnum;
    /**
     * This field is deprecated and should not be used. Use the 'submissionAnnotations' field instead.
     * @type {number}
     * @memberof ModelSubmissionStatus
     */
    score?: number;
    /**
     * This field is deprecated and should not be used. Use the 'submissionAnnotations' field instead.
     * @type {string}
     * @memberof ModelSubmissionStatus
     */
    report?: string;
    /**
     *
     * @type {AnnotationAnnotations}
     * @memberof ModelSubmissionStatus
     */
    annotations?: AnnotationAnnotations;
    /**
     *
     * @type {V2Annotations}
     * @memberof ModelSubmissionStatus
     */
    submissionAnnotations?: V2Annotations;
    /**
     * The Synapse ID of the Entity in this Submission.
     * @type {string}
     * @memberof ModelSubmissionStatus
     */
    entityId?: string;
    /**
     * The version number of the Entity in this Submission.
     * @type {number}
     * @memberof ModelSubmissionStatus
     */
    versionNumber?: number;
    /**
     * A version of the status, auto-generated and auto-incremented by the system and read-only to the client.
     * @type {number}
     * @memberof ModelSubmissionStatus
     */
    statusVersion?: number;
    /**
     * Can this submission be cancelled? By default, this will be set to False. Users can read this value. Only the queue's scoring application can change this value.
     * @type {boolean}
     * @memberof ModelSubmissionStatus
     */
    canCancel?: boolean;
    /**
     * Has user requested to cancel this submission? By default, this will be set to False. Submission owner can read and request to change this value.
     * @type {boolean}
     * @memberof ModelSubmissionStatus
     */
    cancelRequested?: boolean;
}
/**
 * @export
 */
export declare const ModelSubmissionStatusStatusEnum: {
    readonly OPEN: "OPEN";
    readonly CLOSED: "CLOSED";
    readonly SCORED: "SCORED";
    readonly INVALID: "INVALID";
    readonly VALIDATED: "VALIDATED";
    readonly EVALUATION_IN_PROGRESS: "EVALUATION_IN_PROGRESS";
    readonly RECEIVED: "RECEIVED";
    readonly REJECTED: "REJECTED";
    readonly ACCEPTED: "ACCEPTED";
};
export type ModelSubmissionStatusStatusEnum = typeof ModelSubmissionStatusStatusEnum[keyof typeof ModelSubmissionStatusStatusEnum];
/**
 * Check if a given object implements the ModelSubmissionStatus interface.
 */
export declare function instanceOfModelSubmissionStatus(value: object): value is ModelSubmissionStatus;
export declare function ModelSubmissionStatusFromJSON(json: any): ModelSubmissionStatus;
export declare function ModelSubmissionStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelSubmissionStatus;
export declare function ModelSubmissionStatusToJSON(json: any): ModelSubmissionStatus;
export declare function ModelSubmissionStatusToJSONTyped(value?: ModelSubmissionStatus | null, ignoreDiscriminator?: boolean): any;
