import type { _NSObject } from "../Foundation/NSObject.js";
import type { _AVAssetResourceLoaderDelegate } from "./AVAssetResourceLoaderDelegate.js";
export declare class _AVAssetResourceLoader extends _NSObject {
    static alloc(): _AVAssetResourceLoader;
    static new(): _AVAssetResourceLoader;
    init(): _AVAssetResourceLoader;
    /**
     * @method setDelegate:queue: @abstract Sets the receiver's delegate that will mediate resource loading and the dispatch queue on which delegate methods will be invoked. @param delegate An object conforming to the AVAssetResourceLoaderDelegate protocol. @param delegateQueue A dispatch queue on which all delegate methods will be invoked. @discussion If you employ an AVAssetResourceLoader delegate that loads media data for playback, you should set the value of your AVPlayer’s automaticallyWaitsToMinimizeStalling property to NO. Allowing the value of automaticallyWaitsToMinimizeStalling to remain YES — its default value — when an AVAssetResourceLoader delegate is used for the loading of media data can result in poor start-up times for playback and poor recovery from stalls, because the behaviors provided by AVPlayer when automaticallyWaitsToMinimizeStalling has a value of YES depend on predictions of the future availability of media data that that do not function as expected when data is loaded via a client-controlled means, using the AVAssetResourceLoader delegate interface. You can allow the value of automaticallyWaitsToMinimizeStalling to remain YES if you use an AVAssetResourceLoader delegate to manage content keys for FairPlay Streaming, to provide dynamically-generated master playlists for HTTP Live Streaming, or to respond to authentication challenges, but not to load media data for playback.
     */
    setDelegate$queue$(delegate: _AVAssetResourceLoaderDelegate | null, delegateQueue: _NSObject | null): void;
    /**
     * @property delegate @abstract The receiver's delegate. @discussion The value of this property is an object conforming to the AVAssetResourceLoaderDelegate protocol. The delegate is set using the setDelegate:queue: method. 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.
     */
    delegate(): _AVAssetResourceLoaderDelegate | null;
    /**
     * @property delegateQueue @abstract The dispatch queue on which all delegate methods will be invoked. @discussion The value of this property is a dispatch_queue_t. The queue is set using the setDelegate:queue: method.
     */
    delegateQueue(): _NSObject | null;
    /**
     * @property preloadsEligibleContentKeys @abstract When YES, eligible content keys will be loaded as eagerly as possible, potentially handled by the delegate. Setting to YES may result in network activity. @discussion Any work done as a result of setting this property will be performed asynchronously.
     */
    preloadsEligibleContentKeys(): boolean;
    setPreloadsEligibleContentKeys$(value: boolean): void;
    /**
     * @property sendsCommonMediaClientDataAsHTTPHeaders @abstract Enables Common Media Client Data to be attached as HTTP request headers. @discussion Defaults to NO.
     * @deprecated AVAssetResourceLoader based key loading is no longer supported, transition to AVContentKeySession
     */
    sendsCommonMediaClientDataAsHTTPHeaders(): boolean;
    setSendsCommonMediaClientDataAsHTTPHeaders$(value: boolean): void;
}
