import type { _AVPlayerItemMediaDataCollector } from "./AVPlayerItemMediaDataCollector.js";
import type { _AVPlayerItemMetadataCollectorPushDelegate } from "./AVPlayerItemMetadataCollectorPushDelegate.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSObject } from "../Foundation/NSObject.js";
export declare class _AVPlayerItemMetadataCollector extends _AVPlayerItemMediaDataCollector {
    static alloc(): _AVPlayerItemMetadataCollector;
    static new(): _AVPlayerItemMetadataCollector;
    init(): _AVPlayerItemMetadataCollector;
    /**
     * @method initWithIdentifiers:classifyingLabels: @abstract Returns an instance of AVPlayerItemMetadataCollector that can provide all available AVMetadataGroups matching a set of criteria. @param identifiers A array of metadata identifiers indicating the metadata items that the output should provide. See AVMetadataIdentifiers.h for publicly defined metadata identifiers. Pass nil to include metadata with any identifier. @param classifyingLabels If the metadata format supports labeling each metadata group with a string, supplying an array of group labels indicates that the output should provide metadata groups that match one of the supplied labels. Pass nil to include metadata with any (or no) classifying label. @result An instance of AVPlayerItemMetadataCollector. @discussion Some metadata available in some formats - such as timed metadata embedded in HLS segments - is not available for collector output. The default init method can be used as an alternative to setting both identifiers and classifyingLabels to nil.
     */
    initWithIdentifiers$classifyingLabels$(identifiers: _NSArray | null, classifyingLabels: _NSArray | null): _AVPlayerItemMetadataCollector;
    /**
     * @method setDelegate:queue: @abstract Sets the receiver's delegate and a dispatch queue on which the delegate will be called. @param delegate An object conforming to AVPlayerItemMetadataCollectorPushDelegate protocol. @param delegateQueue A dispatch queue on which all delegate methods will be called.
     */
    setDelegate$queue$(delegate: _AVPlayerItemMetadataCollectorPushDelegate | null, delegateQueue: _NSObject | null): void;
    /**
     * @property delegate @abstract The receiver's delegate. @discussion The delegate is held using a zeroing-weak reference, so this property will have a value of nil after a delegate that was previously set has been deallocated. This property is not key-value observable.
     */
    delegate(): _AVPlayerItemMetadataCollectorPushDelegate | null;
    /**
     * @property delegateQueue @abstract The dispatch queue on which messages are sent to the delegate. @discussion This property is not key-value observable.
     */
    delegateQueue(): _NSObject | null;
}
