import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _AVExposureBiasRange } from "./AVExposureBiasRange.js";
import type { _AVFrameRateRange } from "./AVFrameRateRange.js";
import type { _AVZoomRange } from "./AVZoomRange.js";
import type { CMTime } from "../structs/CMTime.js";
import type { CMVideoDimensions } from "../structs/CMVideoDimensions.js";
import type { AVCaptureAspectRatio } from "./AVCaptureAspectRatio.js";
import type { AVCaptureAutoFocusSystem } from "./AVCaptureAutoFocusSystem.js";
import type { AVCaptureVideoStabilizationMode } from "./AVCaptureVideoStabilizationMode.js";
export declare class _AVCaptureDeviceFormat extends _NSObject {
    static alloc(): _AVCaptureDeviceFormat;
    static new(): _AVCaptureDeviceFormat;
    init(): _AVCaptureDeviceFormat;
    /**
     * @method isVideoStabilizationModeSupported @abstract Returns whether the format supports the given video stabilization mode. @param videoStabilizationMode An AVCaptureVideoStabilizationMode to be checked. @discussion isVideoStabilizationModeSupported: returns a boolean value indicating whether the format can be stabilized using the given mode with -[AVCaptureConnection setPreferredVideoStabilizationMode:]. In the case of ProRes RAW formats, video stabilization metadata is attached to the unstabilized video buffers instead.
     */
    isVideoStabilizationModeSupported$(videoStabilizationMode: AVCaptureVideoStabilizationMode): boolean;
    /**
     * Indicates the horizontal field of view for an aspect ratio, either uncorrected or corrected for geometric distortion. A float indicating the field of view for the corresponding ``AVCaptureAspectRatio``. Set ``AVCaptureDevice/geometricDistortionCorrected`` to `true` to receive the field of view corrected for geometric distortion. If this device format does not support dynamic aspect ratio, this function returns `0`.
     */
    videoFieldOfViewForAspectRatio$geometricDistortionCorrected$(aspectRatio: AVCaptureAspectRatio, geometricDistortionCorrected: boolean): number;
    /**
     * @property mediaType @abstract An NSString describing the media type of an AVCaptureDevice active or supported format. @discussion Supported mediaTypes are listed in AVMediaFormat.h. This is a read-only property. The caller assumes no ownership of the returned value and should not CFRelease it.
     */
    mediaType(): _NSString;
    /**
     * @property formatDescription @abstract A CMFormatDescription describing an AVCaptureDevice active or supported format. @discussion A CMFormatDescription describing an AVCaptureDevice active or supported format. This is a read-only property. The caller assumes no ownership of the returned value and should not CFRelease it.
     */
    formatDescription(): NobjcObject;
    /**
     * @property videoSupportedFrameRateRanges @abstract A property indicating the format's supported frame rate ranges. @discussion videoSupportedFrameRateRanges is an array of AVFrameRateRange objects, one for each of the format's supported video frame rate ranges.
     */
    videoSupportedFrameRateRanges(): _NSArray;
    /**
     * @property videoFieldOfView @abstract A property indicating the format's horizontal field of view. @discussion videoFieldOfView is a float value indicating the receiver's field of view in degrees. If field of view is unknown, a value of 0 is returned.
     */
    videoFieldOfView(): number;
    /**
     * @property videoBinned @abstract A property indicating whether the format is binned. @discussion videoBinned is a BOOL indicating whether the format is a binned format. Binning is a pixel-combining process which can result in greater low light sensitivity at the cost of reduced resolution.
     */
    videoBinned(): boolean;
    /**
     * @property videoStabilizationSupported @abstract A property indicating whether the format supports video stabilization. @discussion videoStabilizationSupported is a BOOL indicating whether the format can be stabilized using AVCaptureConnection -setEnablesVideoStabilizationWhenAvailable. This property is deprecated. Use isVideoStabilizationModeSupported: instead.
     * @deprecated Use isVideoStabilizationModeSupported: instead.
     */
    videoStabilizationSupported(): boolean;
    /**
     * @property videoMaxZoomFactor @abstract Indicates the maximum zoom factor available for the AVCaptureDevice's videoZoomFactor property. @discussion If the device's videoZoomFactor property is assigned a larger value, an NSRangeException will be thrown. A maximum zoom factor of 1 indicates no zoom is available.
     */
    videoMaxZoomFactor(): number;
    /**
     * @property videoZoomFactorUpscaleThreshold @abstract Indicates the value of AVCaptureDevice's videoZoomFactor property at which the image output begins to require upscaling. @discussion In some cases the image sensor's dimensions are larger than the dimensions reported by the video AVCaptureDeviceFormat. As long as the sensor crop is larger than the reported dimensions of the AVCaptureDeviceFormat, the image will be downscaled. Setting videoZoomFactor to the value of videoZoomFactorUpscalingThreshold will provide a center crop of the sensor image data without any scaling. If a greater zoom factor is used, then the sensor data will be upscaled to the device format's dimensions.
     */
    videoZoomFactorUpscaleThreshold(): number;
    /**
     * @property systemRecommendedVideoZoomRange @abstract Indicates the system's recommended zoom range for this device format. @discussion This property can be used to create a slider in your app's user interface to control the device's zoom with a system-recommended video zoom range. When a recommendation is not available, this property returns nil. Clients can key value observe AVCaptureDevice's minAvailableVideoZoomFactor and maxAvailableVideoZoomFactor properties to know when a device's supported zoom is restricted within the recommended zoom range. The value of this property is also used for the AVCaptureSystemZoomSlider's range.
     */
    systemRecommendedVideoZoomRange(): _AVZoomRange;
    /**
     * @property minExposureDuration @abstract A CMTime indicating the minimum supported exposure duration. @discussion This read-only property indicates the minimum supported exposure duration.
     */
    minExposureDuration(): CMTime;
    /**
     * @property maxExposureDuration @abstract A CMTime indicating the maximum supported exposure duration. @discussion This read-only property indicates the maximum supported exposure duration.
     */
    maxExposureDuration(): CMTime;
    /**
     * @property systemRecommendedExposureBiasRange @abstract Indicates the system's recommended exposure bias range for this device format. @discussion This property can be used to create a slider in your app's user interface to control the device's exposure bias with a system-recommended exposure bias range. When a recommendation is not available, this property returns nil. The value of this property is also used for the AVCaptureSystemExposureBiasSlider's range.
     */
    systemRecommendedExposureBiasRange(): _AVExposureBiasRange;
    /**
     * @property minISO @abstract A float indicating the minimum supported exposure ISO value. @discussion This read-only property indicates the minimum supported exposure ISO value.
     */
    minISO(): number;
    /**
     * @property maxISO @abstract An float indicating the maximum supported exposure ISO value. @discussion This read-only property indicates the maximum supported exposure ISO value.
     */
    maxISO(): number;
    /**
     * @property globalToneMappingSupported @abstract A property indicating whether the format supports global tone mapping. @discussion globalToneMappingSupported is a BOOL indicating whether the format supports global tone mapping. See AVCaptureDevice's globalToneMappingEnabled property.
     */
    globalToneMappingSupported(): boolean;
    /**
     * @property videoHDRSupported @abstract A property indicating whether the format supports high dynamic range streaming. @discussion videoHDRSupported is a BOOL indicating whether the format supports high dynamic range streaming, also known as Extended Dynamic Range (EDR). When enabled, the device streams at twice the published frame rate, capturing an under-exposed frame and correctly exposed frame for each frame time at the published rate. Portions of the under-exposed frame are combined with the correctly exposed frame to recover detail in darker areas of the scene. EDR is a separate and distinct feature from 10-bit HDR video (first seen in 2020 iPhones). 10-bit formats with HLG BT2020 color space have greater dynamic range by virtue of their expanded bit depth and HLG transfer function, and when captured in movies, contain Dolby Vision metadata. They are, in effect, "always on" HDR. And thus the videoHDRSupported property is always NO for 10-bit formats only supporting HLG BT2020 colorspace, since HDR cannot be enabled or disabled. To enable videoHDR (EDR), set the AVCaptureDevice.videoHDREnabled property.
     */
    videoHDRSupported(): boolean;
    /**
     * @property highResolutionStillImageDimensions @abstract CMVideoDimensions indicating the highest resolution still image that can be produced by this format. @discussion By default, AVCapturePhotoOutput and AVCaptureStillImageOutput emit images with the same dimensions as their source AVCaptureDevice's activeFormat.formatDescription property. Some device formats support high resolution photo output. That is, they can stream video to an AVCaptureVideoDataOutput or AVCaptureMovieFileOutput at one resolution while outputting photos to AVCapturePhotoOutput at a higher resolution. You may query this property to discover a video format's supported high resolution still image dimensions. See -[AVCapturePhotoOutput highResolutionPhotoEnabled], -[AVCapturePhotoSettings highResolutionPhotoEnabled], and -[AVCaptureStillImageOutput highResolutionStillImageOutputEnabled]. AVCaptureDeviceFormats of type AVMediaTypeDepthData may also support the delivery of a higher resolution depth data map to an AVCapturePhotoOutput. Chief differences are: - Depth data accompanying still images is not supported by AVCaptureStillImageOutput. You must use AVCapturePhotoOutput. - By opting in for depth data ( -[AVCapturePhotoSettings setDepthDataDeliveryEnabled:YES] ), you implicitly opt in for high resolution depth data if it's available. You may query the -[AVCaptureDevice activeDepthDataFormat]'s highResolutionStillImageDimensions to discover the depth data resolution that will be delivered with captured photos.
     * @deprecated Use supportedMaxPhotoDimensions instead.
     */
    highResolutionStillImageDimensions(): CMVideoDimensions;
    /**
     * @property highPhotoQualitySupported @abstract A boolean value specifying whether this format supports high photo quality when selecting an AVCapturePhotoQualityPrioritization of .balanced or .quality. @discussion If an AVCaptureDeviceFormat's highPhotoQualitySupported property is YES, the format produces higher image quality when selecting .balanced or .quality AVCapturePhotoQualityPrioritization compared to .speed. Such formats adhere to the following rules: - Photo requests with a prioritization of .speed produce the fastest image result (suitable for burst captures). - Photo requests with a prioritization of .balanced produce higher image quality without dropping frames if a video recording is underway. - Photo requests with a prioritization of .quality produce high image quality and may cause frame drops if a video recording is underway. For maximum backward compatibility, photo requests on high photo quality formats set to .quality only cause video frame drops if your app is linked on or after iOS 15. Formats that don't support high photo quality produce the same image quality whether you select .speed, .balanced, or .quality. Note that high photo quality is only attainable when using the AVCapturePhotoOutput with these supported formats.
     */
    highPhotoQualitySupported(): boolean;
    /**
     * @property highestPhotoQualitySupported @abstract A boolean value specifying whether this format supports the highest possible photo quality that can be delivered on the current platform. @discussion Of the many formats supported by an AVCaptureDevice, only a few of them are designated as "photo" formats which can produce the highest possible quality, such as still image stabilization and Live Photos. If you intend to connect an AVCaptureDeviceInput to an AVCapturePhotoOutput and receive the best possible images, you should ensure that you are either using the AVCaptureSessionPresetPhoto as your preset, or if using the parallel AVCaptureDevice activeFormat API, select as your activeFormat one for which this property is YES.
     */
    highestPhotoQualitySupported(): boolean;
    /**
     * @property autoFocusSystem @abstract A property indicating the autofocus system. @discussion This read-only property indicates the autofocus system.
     */
    autoFocusSystem(): AVCaptureAutoFocusSystem;
    /**
     * @property supportedColorSpaces @abstract A property indicating the receiver's supported color spaces. @discussion This read-only property indicates the receiver's supported color spaces as an array of AVCaptureColorSpace constants sorted from narrow to wide color.
     */
    supportedColorSpaces(): _NSArray;
    /**
     * @property videoMinZoomFactorForDepthDataDelivery @abstract A deprecated property. Please use supportedVideoZoomFactorsForDepthDataDelivery instead
     * @deprecated supportedVideoZoomFactorsForDepthDataDelivery
     */
    videoMinZoomFactorForDepthDataDelivery(): number;
    /**
     * @property videoMaxZoomFactorForDepthDataDelivery @abstract A deprecated property. Please use supportedVideoZoomFactorsForDepthDataDelivery instead
     * @deprecated supportedVideoZoomFactorsForDepthDataDelivery
     */
    videoMaxZoomFactorForDepthDataDelivery(): number;
    /**
     * @property supportedVideoZoomFactorsForDepthDataDelivery @abstract A deprecated property. Please use supportedVideoZoomRangesForDepthDataDelivery
     * @deprecated supportedVideoZoomRangesForDepthDataDelivery
     */
    supportedVideoZoomFactorsForDepthDataDelivery(): _NSArray;
    /**
     * @property supportedVideoZoomRangesForDepthDataDelivery @abstract This property returns the zoom ranges within which depth data can be delivered. @discussion Virtual devices support limited zoom ranges when delivering depth data to any output. If this device format has no -supportedDepthDataFormats, this property returns an empty array. The presence of one or more ranges where the min and max zoom factors are not equal means that "continuous zoom" with depth is supported. For example: a) ranges: @[ [2..2], [4..4] ] only zoom factors 2 and 4 are allowed to be set when depthDataDelivery is enabled. Any other zoom factor results in an exception. b) ranges: @[ [2..5] ] depthDataDelivery is supported with zoom factors [2..5]. Zoom factors outside of this range may be set, but will result in loss of depthDataDeliery. Whenever zoom is set back to a value within the range of [2..5], depthDataDelivery will resume. When depth data delivery is enabled, the effective videoZoomFactorUpscaleThreshold will be 1.0, meaning that all zoom factors that are not native zoom factors (see AVCaptureDevice.virtualDeviceSwitchOverVideoZoomFactors and AVCaptureDevice.secondaryNativeResolutionZoomFactors) result in digital upscaling.
     */
    supportedVideoZoomRangesForDepthDataDelivery(): _NSArray;
    /**
     * @property zoomFactorsOutsideOfVideoZoomRangesForDepthDeliverySupported @abstract This property returns whether the format supports zoom factors outside of the supportedVideoZoomFactorRangesForDepthDataDelivery. @discussion When a zoom factor outside of the supportedVideoZoomFactorRangesForDepthDataDelivery is set, depth data delivery will be suspended until a zoom factor within the supportedVideoZoomFactorRangesForDepthDataDelivery is set.
     */
    zoomFactorsOutsideOfVideoZoomRangesForDepthDeliverySupported(): boolean;
    /**
     * @property supportedDepthDataFormats @abstract Indicates this format's companion depth data formats. @discussion If no depth data formats are supported by the receiver, an empty array is returned. On virtual devices, the supportedDepthDataFormats list items always match the aspect ratio of their paired video format. When the receiver is set as the device's activeFormat, you may set the device's activeDepthDataFormat to one of these supported depth data formats.
     */
    supportedDepthDataFormats(): _NSArray;
    /**
     * @property unsupportedCaptureOutputClasses @abstract A property indicating AVCaptureOutput subclasses the receiver does not support. @discussion As a rule, AVCaptureDeviceFormats of a given mediaType are available for use with all AVCaptureOutputs that accept that media type, but there are exceptions. For instance, on apps linked against iOS versions earlier than 12.0, the photo resolution video formats may not be used as sources for AVCaptureMovieFileOutput due to bandwidth limitations. On DualCamera devices, AVCaptureDepthDataOutput is not supported when outputting full resolution (i.e. 12 MP) video due to bandwidth limitations. In order to stream depth data plus video data from a photo format, ensure that your AVCaptureVideoDataOutput's deliversPreviewSizedOutputBuffers property is set to YES. Likewise, to stream depth data while capturing video to a movie file using AVCaptureMovieFileOutput, call -[AVCaptureSession setSessionPreset:AVCaptureSessionPresetPhoto]. When using the photo preset, video is captured at preview resolution rather than the full sensor resolution.
     */
    unsupportedCaptureOutputClasses(): _NSArray;
    /**
     * @property supportedMaxPhotoDimensions @abstract This property lists all of the supported maximum photo dimensions for this format. The array contains CMVideoDimensions structs encoded as NSValues. @discussion Enumerate all supported resolution settings for which this format may be configured to capture photos. Use these values to set AVCapturePhotoOutput.maxPhotoDimensions and AVCapturePhotoSettings.maxPhotoDimensions.
     */
    supportedMaxPhotoDimensions(): _NSArray;
    /**
     * @property secondaryNativeResolutionZoomFactors @abstract Indicates zoom factors at which this device transitions to secondary native resolution modes. @discussion Devices with this property have the means to switch their pixel sampling mode on the fly to produce a high-fidelity, non-upsampled images at a fixed zoom factor beyond 1.0x.
     */
    secondaryNativeResolutionZoomFactors(): _NSArray;
    /**
     * @property autoVideoFrameRateSupported @abstract Indicates whether the device format supports auto video frame rate. @discussion See -[AVCaptureDevice autoVideoFrameRateEnabled] (above) for a detailed description of the feature.
     */
    autoVideoFrameRateSupported(): boolean;
    /**
     * @property portraitEffectsMatteStillImageDeliverySupported @abstract Indicates whether this depth format supports the delivery of a portrait effects matte. @discussion Some depth formats are capable of producing an auxiliary matting image (similar to an auxiliary depth image) tuned for high quality portrait effects rendering (see AVPortraitEffectsMatte.h). If this property's value is YES, you may request portrait effects matte delivery in your photos using the AVCapturePhotoOutput, provided this format is selected as the activeDepthDataFormat.
     */
    portraitEffectsMatteStillImageDeliverySupported(): boolean;
    /**
     * @property multiCamSupported @abstract A property indicating whether this format is supported in an AVCaptureMultiCamSession. @discussion When using an AVCaptureSession (single camera capture), any of the formats in the device's -formats array may be set as the -activeFormat. However, when used with an AVCaptureMultiCamSession, the device's -activeFormat may only be set to one of the formats for which multiCamSupported answers YES. This limited subset of capture formats are known to run sustainably in a multi camera capture scenario.
     */
    multiCamSupported(): boolean;
    /**
     * @property spatialVideoCaptureSupported @abstract Returns whether or not the format supports capturing spatial video to a file.
     */
    spatialVideoCaptureSupported(): boolean;
    /**
     * @property geometricDistortionCorrectedVideoFieldOfView @abstract A property indicating the format's horizontal field of view post geometric distortion correction. @discussion If the receiver's AVCaptureDevice does not support GDC, geometricDistortionCorrectedVideoFieldOfView matches the videoFieldOfView property.
     */
    geometricDistortionCorrectedVideoFieldOfView(): number;
    /**
     * @property centerStageSupported @abstract Indicates whether the format supports the Center Stage feature. @discussion This property returns YES if the format supports "Center Stage", which automatically adjusts the camera to keep people optimally framed within the field of view. See +AVCaptureDevice.centerStageEnabled for a detailed discussion.
     */
    centerStageSupported(): boolean;
    /**
     * @property videoMinZoomFactorForCenterStage @abstract Indicates the minimum zoom factor available for the AVCaptureDevice's videoZoomFactor property when centerStageActive is YES. @discussion Devices support a limited zoom range when Center Stage is active. If this device format does not support Center Stage, this property returns 1.0.
     */
    videoMinZoomFactorForCenterStage(): number;
    /**
     * @property videoMaxZoomFactorForCenterStage @abstract Indicates the maximum zoom factor available for the AVCaptureDevice's videoZoomFactor property when centerStageActive is YES. @discussion Devices support a limited zoom range when Center Stage is active. If this device format does not support Center Stage, this property returns videoMaxZoomFactor.
     */
    videoMaxZoomFactorForCenterStage(): number;
    /**
     * @property videoFrameRateRangeForCenterStage @abstract Indicates the minimum / maximum frame rates available when centerStageActive is YES. @discussion Devices may support a limited frame rate range when Center Stage is active. If this device format does not support Center Stage, this property returns nil.
     */
    videoFrameRateRangeForCenterStage(): _AVFrameRateRange;
    /**
     * @property portraitEffectSupported @abstract Indicates whether the format supports the Portrait Effect feature. @discussion This property returns YES if the format supports Portrait Effect, the application of a shallow depth of field effect to objects in the background. See +AVCaptureDevice.portraitEffectEnabled for a detailed discussion.
     */
    portraitEffectSupported(): boolean;
    /**
     * @property videoFrameRateRangeForPortraitEffect @abstract Indicates the minimum / maximum frame rates available when portraitEffectActive is YES. @discussion Devices may support a limited frame rate range when Portrait Effect is active. If this device format does not support Portrait Effect, this property returns nil.
     */
    videoFrameRateRangeForPortraitEffect(): _AVFrameRateRange;
    /**
     * @property studioLightSupported @abstract Indicates whether the format supports the Studio Light feature. @discussion This property returns YES if the format supports Studio Light (artificial re-lighting of the subject's face). See +AVCaptureDevice.studioLightEnabled.
     */
    studioLightSupported(): boolean;
    /**
     * @property videoFrameRateRangeForStudioLight @abstract Indicates the minimum / maximum frame rates available when studioLight is YES. @discussion Devices may support a limited frame rate range when Studio Light is active. If this device format does not support Studio Light, this property returns nil.
     */
    videoFrameRateRangeForStudioLight(): _AVFrameRateRange;
    /**
     * @property reactionEffectsSupported @abstract Indicates whether the format supports the Reaction Effects feature. @discussion This property returns YES if the format supports Reaction Effects. See +AVCaptureDevice.reactionEffectsEnabled.
     */
    reactionEffectsSupported(): boolean;
    /**
     * @property videoFrameRateRangeForReactionEffectsInProgress @abstract Indicates the minimum / maximum frame rates available when a reaction effect is running. @discussion Unlike the other video effects, enabling reaction effects does not limit the stream's frame rate because most of the time no rendering is being performed. The frame rate will only ramp down when a reaction is actually being rendered on the stream (see AVCaptureDevice.reactionEffectsInProgress)
     */
    videoFrameRateRangeForReactionEffectsInProgress(): _AVFrameRateRange;
    /**
     * @property backgroundReplacementSupported @abstract Indicates whether the format supports the Background Replacement feature. @discussion This property returns YES if the format supports Background Replacement background replacement. See +AVCaptureDevice.backgroundReplacementEnabled.
     */
    backgroundReplacementSupported(): boolean;
    /**
     * @property videoFrameRateRangeForBackgroundReplacement @abstract Indicates the minimum / maximum frame rates available when background replacement is active. @discussion Devices may support a limited frame rate range when Background Replacement is active. If this device format does not support Background Replacement, this property returns nil.
     */
    videoFrameRateRangeForBackgroundReplacement(): _AVFrameRateRange;
    /**
     * Indicates whether the format supports the Edge Light feature. This property returns YES if the device supports the Edge Light feature. See +AVCaptureDevice.edgeLightEnabled.
     */
    edgeLightSupported(): boolean;
    /**
     * Indicates whether the format supports Cinematic Video capture. This property returns `true` if the format supports Cinematic Video that produces a controllable, simulated depth of field and adds beautiful focus transitions for a cinema-grade look.
     */
    cinematicVideoCaptureSupported(): boolean;
    /**
     * Default shallow depth of field simulated aperture. This property return a non-zero value on devices that support the shallow depth of field effect.
     */
    defaultSimulatedAperture(): number;
    /**
     * Minimum supported shallow depth of field simulated aperture. On devices that do not support changing the simulated aperture value, this returns a value of `0`.
     */
    minSimulatedAperture(): number;
    /**
     * Maximum supported shallow depth of field simulated aperture. On devices that do not support changing the simulated aperture value, this returns a value of `0`.
     */
    maxSimulatedAperture(): number;
    /**
     * Indicates the minimum zoom factor available for the ``AVCaptureDevice/videoZoomFactor`` property when Cinematic Video capture is enabled on the device input. Devices support a limited zoom range when Cinematic Video capture is active. If this device format does not support Cinematic Video capture, this property returns `1.0`.
     */
    videoMinZoomFactorForCinematicVideo(): number;
    /**
     * Indicates the maximum zoom factor available for the ``AVCaptureDevice/videoZoomFactor`` property when Cinematic Video capture is enabled on the device input. Devices support a limited zoom range when Cinematic Video capture is active. If this device format does not support Cinematic Video capture, this property returns `1.0`.
     */
    videoMaxZoomFactorForCinematicVideo(): number;
    /**
     * Indicates the minimum / maximum frame rates available when Cinematic Video capture is enabled on the device input. Devices may support a limited frame rate range when Cinematic Video capture is active. If this device format does not support Cinematic Video capture, this property returns `nil`.
     */
    videoFrameRateRangeForCinematicVideo(): _AVFrameRateRange;
    /**
     * Indicates the supported aspect ratios for the device format. An array that describes the aspect ratios that are supported for this format. If this device format does not support dynamic aspect ratio, this property returns an empty array.
     */
    supportedDynamicAspectRatios(): _NSArray;
    /**
     * Returns `true` if smart framing is supported by the current format. An ultra wide camera device that supports dynamic aspect ratio configuration may also support "smart framing monitoring" on particular formats.
     */
    smartFramingSupported(): boolean;
    /**
     * Whether camera lens smudge detection is supported. This property returns `true` if the session's current configuration supports lens smudge detection. When switching cameras or formats, this property may change. When this property changes from `true` to `false`, ``AVCaptureDevice/cameraLensSmudgeDetectionEnabled`` also reverts to `false`. If you opt in for lens smudge detection and then change configurations, you should set ``AVCaptureDevice/cameraLensSmudgeDetectionEnabled`` to `true` again.
     */
    cameraLensSmudgeDetectionSupported(): boolean;
}
