"use strict";
/* tslint:disable */
/* eslint-disable */
/**
 * Montelo
 * Documentation for the Montelo API.
 *
 * The version of the OpenAPI document: 1.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.FineTuneJobWithDatasetDtoToJSON = exports.FineTuneJobWithDatasetDtoFromJSONTyped = exports.FineTuneJobWithDatasetDtoFromJSON = exports.instanceOfFineTuneJobWithDatasetDto = exports.FineTuneJobWithDatasetDtoStatusEnum = exports.FineTuneJobWithDatasetDtoProviderEnum = void 0;
const DatasetDto_1 = require("./DatasetDto");
/**
 * @export
 */
exports.FineTuneJobWithDatasetDtoProviderEnum = {
    Openai: 'OPENAI',
    Montelo: 'MONTELO'
};
/**
 * @export
 */
exports.FineTuneJobWithDatasetDtoStatusEnum = {
    Pending: 'PENDING',
    Running: 'RUNNING',
    Completed: 'COMPLETED',
    Failed: 'FAILED',
    Cancelled: 'CANCELLED'
};
/**
 * Check if a given object implements the FineTuneJobWithDatasetDto interface.
 */
function instanceOfFineTuneJobWithDatasetDto(value) {
    let isInstance = true;
    isInstance = isInstance && "id" in value;
    isInstance = isInstance && "provider" in value;
    isInstance = isInstance && "model" in value;
    isInstance = isInstance && "status" in value;
    isInstance = isInstance && "startedAt" in value;
    isInstance = isInstance && "endedAt" in value;
    isInstance = isInstance && "metadata" in value;
    isInstance = isInstance && "datasetId" in value;
    isInstance = isInstance && "dataset" in value;
    return isInstance;
}
exports.instanceOfFineTuneJobWithDatasetDto = instanceOfFineTuneJobWithDatasetDto;
function FineTuneJobWithDatasetDtoFromJSON(json) {
    return FineTuneJobWithDatasetDtoFromJSONTyped(json, false);
}
exports.FineTuneJobWithDatasetDtoFromJSON = FineTuneJobWithDatasetDtoFromJSON;
function FineTuneJobWithDatasetDtoFromJSONTyped(json, ignoreDiscriminator) {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        'id': json['id'],
        'provider': json['provider'],
        'model': json['model'],
        'status': json['status'],
        'startedAt': json['startedAt'],
        'endedAt': json['endedAt'],
        'metadata': json['metadata'],
        'datasetId': json['datasetId'],
        'dataset': (0, DatasetDto_1.DatasetDtoFromJSON)(json['dataset']),
    };
}
exports.FineTuneJobWithDatasetDtoFromJSONTyped = FineTuneJobWithDatasetDtoFromJSONTyped;
function FineTuneJobWithDatasetDtoToJSON(value) {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        'id': value.id,
        'provider': value.provider,
        'model': value.model,
        'status': value.status,
        'startedAt': value.startedAt,
        'endedAt': value.endedAt,
        'metadata': value.metadata,
        'datasetId': value.datasetId,
        'dataset': (0, DatasetDto_1.DatasetDtoToJSON)(value.dataset),
    };
}
exports.FineTuneJobWithDatasetDtoToJSON = FineTuneJobWithDatasetDtoToJSON;
