/* tslint:disable */
/* eslint-disable */
/**
 * HumanLayer Daemon REST API
 * REST API for HumanLayer daemon operations, providing session management, approval workflows, and real-time event streaming capabilities. 
 *
 * The version of the OpenAPI document: 1.0.0
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


/**
 * Current status of the session
 * @export
 */
export const SessionStatus = {
    Draft: 'draft',
    Starting: 'starting',
    Running: 'running',
    Completed: 'completed',
    Failed: 'failed',
    Interrupting: 'interrupting',
    Interrupted: 'interrupted',
    WaitingInput: 'waiting_input',
    Discarded: 'discarded'
} as const;
export type SessionStatus = typeof SessionStatus[keyof typeof SessionStatus];


export function instanceOfSessionStatus(value: any): boolean {
    for (const key in SessionStatus) {
        if (Object.prototype.hasOwnProperty.call(SessionStatus, key)) {
            if (SessionStatus[key as keyof typeof SessionStatus] === value) {
                return true;
            }
        }
    }
    return false;
}

export function SessionStatusFromJSON(json: any): SessionStatus {
    return SessionStatusFromJSONTyped(json, false);
}

export function SessionStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): SessionStatus {
    return json as SessionStatus;
}

export function SessionStatusToJSON(value?: SessionStatus | null): any {
    return value as any;
}

export function SessionStatusToJSONTyped(value: any, ignoreDiscriminator: boolean): SessionStatus {
    return value as SessionStatus;
}

