/**
 * 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 { Location } from './Location';
import { LockLocationLevelRef } from './LockLocationLevelRef';
import { LookupType } from './LookupType';
/**
 *
 * @export
 * @interface Lock
 */
export interface Lock {
    /**
     *
     * @type {CwmsId}
     * @memberof Lock
     */
    projectId: CwmsId;
    /**
     *
     * @type {Location}
     * @memberof Lock
     */
    location: Location;
    /**
     *
     * @type {LookupType}
     * @memberof Lock
     */
    chamberType?: LookupType;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    lockWidth?: number;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    lockLength?: number;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    normalLockLift?: number;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    maximumLockLift?: number;
    /**
     *
     * @type {string}
     * @memberof Lock
     */
    lengthUnits?: string;
    /**
     *
     * @type {string}
     * @memberof Lock
     */
    volumeUnits?: string;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    volumePerLockage?: number;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    minimumDraft?: number;
    /**
     *
     * @type {LockLocationLevelRef}
     * @memberof Lock
     */
    highWaterUpperPoolLocationLevel?: LockLocationLevelRef;
    /**
     *
     * @type {LockLocationLevelRef}
     * @memberof Lock
     */
    lowWaterLowerPoolLocationLevel?: LockLocationLevelRef;
    /**
     *
     * @type {LockLocationLevelRef}
     * @memberof Lock
     */
    highWaterLowerPoolLocationLevel?: LockLocationLevelRef;
    /**
     *
     * @type {LockLocationLevelRef}
     * @memberof Lock
     */
    lowWaterUpperPoolLocationLevel?: LockLocationLevelRef;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    highWaterUpperPoolWarningLevel?: number;
    /**
     *
     * @type {number}
     * @memberof Lock
     */
    highWaterLowerPoolWarningLevel?: number;
    /**
     *
     * @type {string}
     * @memberof Lock
     */
    elevationUnits?: string;
}
export declare function LockFromJSON(json: any): Lock;
export declare function LockFromJSONTyped(json: any, ignoreDiscriminator: boolean): Lock;
export declare function LockToJSON(value?: Lock | null): any;
