import type { _NSMeasurement } from "../Foundation/NSMeasurement.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _CMWaterSubmersionManagerDelegate } from "./CMWaterSubmersionManagerDelegate.js";
import type { CMAuthorizationStatus } from "./CMAuthorizationStatus.js";
export declare class _CMWaterSubmersionManager extends _NSObject {
    static alloc(): _CMWaterSubmersionManager;
    static new(): _CMWaterSubmersionManager;
    init(): _CMWaterSubmersionManager;
    /**
     * waterSubmersionAvailable Discussion: Determines whether this feature is available on the current platform.
     */
    static waterSubmersionAvailable(): boolean;
    /**
     * authorizationStatus Discussion: Checks to see if the client is authorized to use this API via TCC under Motion & Fitness.
     */
    static authorizationStatus(): CMAuthorizationStatus;
    /**
     * delegate Discussion: The delegate object to receive event and measurements updates. Setting of the delegate will invoke TCC, and updates are subject to client being authorized. By setting the delegate to a non-nil value, start event and measurement updates. Setting the delegate to nil will stop all updates.
     */
    delegate(): _CMWaterSubmersionManagerDelegate | null;
    setDelegate$(value: _CMWaterSubmersionManagerDelegate | null): void;
    /**
     * maximumDepth Discussion: Returns the maximum depth threshold that this client is authorized to receive. This is the threshold at which the API will change state to CMWaterSubmersionDepthStatePastMaxDepth. The API will continue to vend data until CMWaterSubmersionDepthStateSensorDepthError, 10% above this threshold. Returns nil if client is not authorized for submersion data.
     */
    maximumDepth(): _NSMeasurement | null;
}
