/* tslint:disable */
/* eslint-disable */
/**
 * CWMS Data API
 * CWMS REST API for Data Retrieval
 *
 * The version of the OpenAPI document: 2.4.0-2026.3.16
 * 
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

import { exists, mapValues } from '../runtime';
/**
 * 
 * @export
 * @interface UsgsMeasurement
 */
export interface UsgsMeasurement {
    /**
     * 
     * @type {string}
     * @memberof UsgsMeasurement
     */
    remarks?: string;
    /**
     * 
     * @type {string}
     * @memberof UsgsMeasurement
     */
    currentRating?: string;
    /**
     * 
     * @type {string}
     * @memberof UsgsMeasurement
     */
    controlCondition?: string;
    /**
     * 
     * @type {number}
     * @memberof UsgsMeasurement
     */
    shiftUsed?: number;
    /**
     * 
     * @type {number}
     * @memberof UsgsMeasurement
     */
    percentDifference?: number;
    /**
     * 
     * @type {string}
     * @memberof UsgsMeasurement
     */
    flowAdjustment?: string;
    /**
     * 
     * @type {number}
     * @memberof UsgsMeasurement
     */
    deltaHeight?: number;
    /**
     * 
     * @type {number}
     * @memberof UsgsMeasurement
     */
    deltaTime?: number;
    /**
     * 
     * @type {number}
     * @memberof UsgsMeasurement
     */
    airTemp?: number;
    /**
     * 
     * @type {number}
     * @memberof UsgsMeasurement
     */
    waterTemp?: number;
}

export function UsgsMeasurementFromJSON(json: any): UsgsMeasurement {
    return UsgsMeasurementFromJSONTyped(json, false);
}

export function UsgsMeasurementFromJSONTyped(json: any, ignoreDiscriminator: boolean): UsgsMeasurement {
    if ((json === undefined) || (json === null)) {
        return json;
    }
    return {
        
        'remarks': !exists(json, 'remarks') ? undefined : json['remarks'],
        'currentRating': !exists(json, 'current-rating') ? undefined : json['current-rating'],
        'controlCondition': !exists(json, 'control-condition') ? undefined : json['control-condition'],
        'shiftUsed': !exists(json, 'shift-used') ? undefined : json['shift-used'],
        'percentDifference': !exists(json, 'percent-difference') ? undefined : json['percent-difference'],
        'flowAdjustment': !exists(json, 'flow-adjustment') ? undefined : json['flow-adjustment'],
        'deltaHeight': !exists(json, 'delta-height') ? undefined : json['delta-height'],
        'deltaTime': !exists(json, 'delta-time') ? undefined : json['delta-time'],
        'airTemp': !exists(json, 'air-temp') ? undefined : json['air-temp'],
        'waterTemp': !exists(json, 'water-temp') ? undefined : json['water-temp'],
    };
}

export function UsgsMeasurementToJSON(value?: UsgsMeasurement | null): any {
    if (value === undefined) {
        return undefined;
    }
    if (value === null) {
        return null;
    }
    return {
        
        'remarks': value.remarks,
        'current-rating': value.currentRating,
        'control-condition': value.controlCondition,
        'shift-used': value.shiftUsed,
        'percent-difference': value.percentDifference,
        'flow-adjustment': value.flowAdjustment,
        'delta-height': value.deltaHeight,
        'delta-time': value.deltaTime,
        'air-temp': value.airTemp,
        'water-temp': value.waterTemp,
    };
}

