import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _AVCameraCalibrationData } from "./AVCameraCalibrationData.js";
import type { AVDepthDataAccuracy } from "./AVDepthDataAccuracy.js";
import type { AVDepthDataQuality } from "./AVDepthDataQuality.js";
export declare class _AVDepthData extends _NSObject {
    static alloc(): _AVDepthData;
    static new(): _AVDepthData;
    init(): _AVDepthData;
    /**
     * @method depthDataFromDictionaryRepresentation:error: @abstract Returns an AVDepthData instance from depth information in an image file. @param imageSourceAuxDataInfoDictionary A dictionary of primitive depth-related information obtained from CGImageSourceCopyAuxiliaryDataInfoAtIndex. @param outError On return, if the depth data cannot be created, points to an NSError describing the problem. @result An AVDepthData instance, or nil if the auxiliary data info dictionary was malformed. @discussion When using ImageIO framework's CGImageSource API to read from a HEIF or JPEG file containing depth data, AVDepthData can be instantiated using the result of CGImageSourceCopyAuxiliaryDataInfoAtIndex, which returns a CFDictionary of primitive map information.
     */
    static depthDataFromDictionaryRepresentation$error$(imageSourceAuxDataInfoDictionary: _NSDictionary, outError: NobjcObject | null): _AVDepthData | null;
    /**
     * @method depthDataByConvertingToDepthDataType: @abstract Returns a converted, derivative AVDepthData instance in the specified depthDataType. @param depthDataType The OSType of depthData object to which you'd like to convert. Must be present in availableDepthDataTypes. @result An AVDepthData instance. @discussion This method throws an NSInvalidArgumentException if you pass an unrecognized depthDataType. See
     */
    depthDataByConvertingToDepthDataType$(depthDataType: number): _AVDepthData;
    /**
     * @method depthDataByApplyingExifOrientation: @abstract Returns a derivative AVDepthData instance in which the specified Exif orientation has been applied. @param exifOrientation One of the 8 standard Exif orientation tags expressing how the depth data should be rotated / mirrored. @result An AVDepthData instance. @discussion When applying simple 90 degree rotation or mirroring edits to media containing depth data, you may use this initializer to create a derivative copy of the depth in which the specified orientation is applied to both the underlying pixel map data and the camera calibration data. This method throws an NSInvalidArgumentException if you pass an unrecognized exifOrientation.
     */
    depthDataByApplyingExifOrientation$(exifOrientation: NobjcObject): _AVDepthData;
    /**
     * @method depthDataByReplacingDepthDataMapWithPixelBuffer:error: @abstract Returns an AVDepthData instance wrapping the replacement depth data map pixel buffer. @param pixelBuffer A pixel buffer containing depth data information in one of the 4 supported disparity / depth pixel formats. @param outError On return, if the depth data cannot be created, points to an NSError describing the problem. @result An AVDepthData instance, or nil if the pixel buffer is malformed. @discussion When applying complex edits to media containing depth data, you may create a derivative map with arbitrary transforms applied to it, then use this initializer to create a new AVDepthData. Note that this new depth data object has no camera calibration data, so its cameraCalibrationData property always returns nil.
     */
    depthDataByReplacingDepthDataMapWithPixelBuffer$error$(pixelBuffer: NobjcObject, outError: NobjcObject | null): _AVDepthData | null;
    /**
     * @method dictionaryRepresentationForAuxiliaryDataType: @abstract Returns a dictionary of primitive map information to be used when writing an image file with depth data. @param outAuxDataType On output, either kCGImageAuxiliaryDataTypeDisparity or kCGImageAuxiliaryDataTypeDepth, depending on the depth data's file. @result A dictionary of CGImageDestination compatible depth information, or nil if the auxDataType is unsupported. @discussion When using ImageIO framework's CGImageDestination API to write depth data to a HEIF or JPEG file, you may use this method to generate a dictionary of primitive map information consumed by CGImageDestinationAddAuxiliaryDataInfo.
     */
    dictionaryRepresentationForAuxiliaryDataType$(outAuxDataType: NobjcObject | null): _NSDictionary | null;
    /**
     * @property availableDepthDataTypes @abstract Specifies which depth data pixel formats may be used with depthDataByConvertingToDepthDataType:. @discussion This property presents the available pixel format types as an array of NSNumbers, each wrapping an OSType (CV pixel format type).
     */
    availableDepthDataTypes(): _NSArray;
    /**
     * @property depthDataType @abstract Specifies the pixel format type of this depth data object's internal map. @discussion One of kCVPixelFormatType_DisparityFloat16, kCVPixelFormatType_DisparityFloat32, kCVPixelFormatType_DepthFloat16, or kCVPixelFormatType_DepthFloat32.
     */
    depthDataType(): number;
    /**
     * @property depthDataMap @abstract Provides access to the depth data object's internal map. @discussion The depth data map's pixel format can be queried using the depthDataType property.
     */
    depthDataMap(): NobjcObject;
    /**
     * @property depthDataQuality @abstract Specifies the overall quality of the depth data map's values. @discussion See AVDepthDataQuality documentation for more information.
     */
    depthDataQuality(): AVDepthDataQuality;
    /**
     * @property depthDataFiltered @abstract Specifies whether the depth data pixel buffer map contains filtered (hole-filled) data. @discussion By setting either AVCaptureDepthDataOutput's filteringEnabled property or AVCapturePhotoSettings' depthDataFiltered property to YES, the resulting depth data are filtered to remove invalid pixel values that may be present due to a variety of factors including low light and lens occlusion. If you've requested depth data filtering, all depth data holes are filled. Note that filtering the depth data makes it more usable for applying effects, but alters the data such that it may no longer be suitable for computer vision tasks. Unfiltered depth maps present missing data as NaN.
     */
    depthDataFiltered(): boolean;
    /**
     * @property depthDataAccuracy @abstract Specifies the accuracy of the units in the depth data map's values. @discussion See AVDepthDataAccuracy documentation for more information.
     */
    depthDataAccuracy(): AVDepthDataAccuracy;
    /**
     * @property cameraCalibrationData @abstract The calibration data of the camera with which AVDepthData map's values are aligned. @discussion See AVCameraCalibrationData for more information. This property may return nil if no camera calibration data is available for the depth data.
     */
    cameraCalibrationData(): _AVCameraCalibrationData | null;
}
