import type { _AVCaptureMetadataOutputObjectsDelegate } from "./AVCaptureMetadataOutputObjectsDelegate.js";
import type { _AVCaptureOutput } from "./AVCaptureOutput.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { CGRect } from "../structs/CGRect.js";
export declare class _AVCaptureMetadataOutput extends _AVCaptureOutput {
    static alloc(): _AVCaptureMetadataOutput;
    static new(): _AVCaptureMetadataOutput;
    init(): _AVCaptureMetadataOutput;
    /**
     * Sets the receiver's delegate that will accept metadata objects and dispatch queue on which the delegate will be called. An object conforming to the AVCaptureMetadataOutputObjectsDelegate protocol that will receive metadata objects after they are captured. A dispatch queue on which all delegate methods will be called. When new metadata objects are captured in the receiver's connection, they will be vended to the delegate using the captureOutput:didOutputMetadataObjects:fromConnection: delegate method. All delegate methods will be called on the specified dispatch queue. Clients that need to minimize the chances of metadata being dropped should specify a queue on which a sufficiently small amount of processing is performed along with receiving metadata objects. A serial dispatch queue must be used to guarantee that metadata objects will be delivered in order. The objectsCallbackQueue parameter may not be NULL, except when setting the objectsDelegate to nil otherwise -setMetadataObjectsDelegate:queue: throws an NSInvalidArgumentException.
     */
    setMetadataObjectsDelegate$queue$(objectsDelegate: _AVCaptureMetadataOutputObjectsDelegate | null, objectsCallbackQueue: _NSObject | null): void;
    /**
     * The receiver's delegate. The value of this property is an object conforming to the AVCaptureMetadataOutputObjectsDelegate protocol that will receive metadata objects after they are captured. The delegate is set using the setMetadataObjectsDelegate:queue: method.
     */
    metadataObjectsDelegate(): _AVCaptureMetadataOutputObjectsDelegate | null;
    /**
     * The dispatch queue on which all metadata object delegate methods will be called. The value of this property is a dispatch_queue_t. The queue is set using the setMetadataObjectsDelegate:queue: method.
     */
    metadataObjectsCallbackQueue(): _NSObject | null;
    /**
     * Indicates the receiver's supported metadata object types. The value of this property is an NSArray of NSStrings corresponding to AVMetadataObjectType strings defined in AVMetadataObject.h -- one for each metadata object type supported by the receiver. Available metadata object types are dependent on the capabilities of the AVCaptureInputPort to which this receiver's AVCaptureConnection is connected. Clients may specify the types of objects they would like to process by calling setMetadataObjectTypes:. This property is key-value observable.
     */
    availableMetadataObjectTypes(): _NSArray;
    /**
     * Specifies the types of metadata objects that the receiver should present to the client. AVCaptureMetadataOutput may detect and emit multiple metadata object types. For apps linked before iOS 7.0, the receiver defaults to capturing face metadata objects if supported (see -availableMetadataObjectTypes). For apps linked on or after iOS 7.0, the receiver captures no metadata objects by default. -setMetadataObjectTypes: throws an NSInvalidArgumentException if any elements in the array are not present in the -availableMetadataObjectTypes array. If you've set your AVCaptureMetadataOutput's connected input's `cinematicVideoCaptureEnabled` property to YES, you must set your `metadataObjectTypes` property to `requiredMetadataObjectTypesForCinematicVideoCapture` or an NSInvalidArgumentException is thrown.
     */
    metadataObjectTypes(): _NSArray;
    setMetadataObjectTypes$(value: _NSArray): void;
    /**
     * Specifies a rectangle of interest for limiting the search area for visual metadata. The value of this property is a CGRect that determines the receiver's rectangle of interest for each frame of video. The rectangle's origin is top left and is relative to the coordinate space of the device providing the metadata. Specifying a rectOfInterest may improve detection performance for certain types of metadata. The default value of this property is the value CGRectMake(0, 0, 1, 1). Metadata objects whose bounds do not intersect with the rectOfInterest will not be returned. As of iOS 13, this property can be set without requiring a lengthy rebuild of the session in which video preview is disrupted.
     */
    rectOfInterest(): CGRect;
    setRectOfInterest$(value: CGRect): void;
    /**
     * The required metadata object types when Cinematic Video capture is enabled. Since the Cinematic Video algorithm requires a particular set of metadata objects to function optimally, you must set your ``metadataObjectTypes`` property to this property's returned value if you've set ``AVCaptureDeviceInput/cinematicVideoCaptureEnabled`` to `true` on the connected device input, otherwise an `NSInvalidArgumentException` is thrown.
     */
    requiredMetadataObjectTypesForCinematicVideoCapture(): _NSArray;
}
