/**
 * 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 { CwmsId } from './CwmsId';
import { GateSetting } from './GateSetting';
import { LookupType } from './LookupType';
/**
 *
 * @export
 * @interface GateChange
 */
export interface GateChange {
    /**
     *
     * @type {CwmsId}
     * @memberof GateChange
     */
    projectId: CwmsId;
    /**
     *
     * @type {Date}
     * @memberof GateChange
     */
    changeDate: Date;
    /**
     *
     * @type {number}
     * @memberof GateChange
     */
    referenceElevation?: number;
    /**
     *
     * @type {number}
     * @memberof GateChange
     */
    poolElevation?: number;
    /**
     *
     * @type {boolean}
     * @memberof GateChange
     */
    _protected?: boolean;
    /**
     *
     * @type {LookupType}
     * @memberof GateChange
     */
    dischargeComputationType: LookupType;
    /**
     *
     * @type {LookupType}
     * @memberof GateChange
     */
    reasonType: LookupType;
    /**
     *
     * @type {string}
     * @memberof GateChange
     */
    notes?: string;
    /**
     *
     * @type {string}
     * @memberof GateChange
     */
    type?: string;
    /**
     *
     * @type {number}
     * @memberof GateChange
     */
    newTotalDischargeOverride?: number;
    /**
     *
     * @type {number}
     * @memberof GateChange
     */
    oldTotalDischargeOverride?: number;
    /**
     *
     * @type {string}
     * @memberof GateChange
     */
    dischargeUnits?: string;
    /**
     *
     * @type {number}
     * @memberof GateChange
     */
    tailwaterElevation?: number;
    /**
     *
     * @type {string}
     * @memberof GateChange
     */
    elevationUnits?: string;
    /**
     *
     * @type {Array<GateSetting>}
     * @memberof GateChange
     */
    settings?: Array<GateSetting>;
}
export declare function GateChangeFromJSON(json: any): GateChange;
export declare function GateChangeFromJSONTyped(json: any, ignoreDiscriminator: boolean): GateChange;
export declare function GateChangeToJSON(value?: GateChange | null): any;
