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

import { 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;
}

/**
 * Check if a given object implements the UsgsMeasurement interface.
 */
export function instanceOfUsgsMeasurement(value: object): boolean {
    return true;
}

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

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

export function UsgsMeasurementToJSON(value?: UsgsMeasurement | null): any {
    if (value == null) {
        return value;
    }
    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'],
    };
}

