import type { _AVCaptureConnection } from "./AVCaptureConnection.js";
import type { _AVCaptureOutput } from "./AVCaptureOutput.js";
import type { _NSArray } from "../Foundation/NSArray.js";
export interface _AVCaptureMetadataOutputObjectsDelegate {
    /**
     * Called whenever an AVCaptureMetadataOutput instance emits new objects through a connection. The AVCaptureMetadataOutput instance that emitted the objects. An array of AVMetadataObject subclasses (see AVMetadataObject.h). The AVCaptureConnection through which the objects were emitted. Delegates receive this message whenever the output captures and emits new objects, as specified by its metadataObjectTypes property. Delegates can use the provided objects in conjunction with other APIs for further processing. This method will be called on the dispatch queue specified by the output's metadataObjectsCallbackQueue property. This method may be called frequently, so it must be efficient to prevent capture performance problems, including dropped metadata objects. Clients that need to reference metadata objects outside of the scope of this method must retain them and then release them when they are finished with them.
     */
    captureOutput$didOutputMetadataObjects$fromConnection$?(output: _AVCaptureOutput, metadataObjects: _NSArray, connection: _AVCaptureConnection): void;
}
