import type { _MPPlayableContentManager } from "./MPPlayableContentManager.js";
import type { _MPPlayableContentManagerContext } from "./MPPlayableContentManagerContext.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSIndexPath } from "../Foundation/NSIndexPath.js";
export interface _MPPlayableContentDelegate {
    /**
     * This method is called when a media player interface wants to play a requested content item. The application should call the completion handler with an appropriate error if there was an error beginning playback for the item.
     */
    playableContentManager$initiatePlaybackOfContentItemAtIndexPath$completionHandler$?(contentManager: _MPPlayableContentManager, indexPath: _NSIndexPath, completionHandler: ((arg0: _NSError) => void) | null): void;
    /**
     * This method is called when a media player interface wants the now playing app to setup a playback queue for later playback. The application should load content into its play queue but not start playback until a Play command is received or if the playable content manager requests to play something else. The app should call the provided completion handler once it is ready to play something.
     */
    playableContentManager$initializePlaybackQueueWithCompletionHandler$?(contentManager: _MPPlayableContentManager, completionHandler: ((arg0: _NSError) => void) | null): void;
    /**
     * This method is called when a media player interface wants the now playing app to setup a playback queue for later playback. The application should load content into its play queue based on the provided content items and prepare it for playback, but not start playback until a Play command is received or if the playable content manager requests to play something else. A nil contentItems array means that the app should prepare its queue with anything it deems appropriate. The app should call the provided completion handler once it is ready to play something.
     */
    playableContentManager$initializePlaybackQueueWithContentItems$completionHandler$?(contentManager: _MPPlayableContentManager, contentItems: _NSArray | null, completionHandler: ((arg0: _NSError) => void) | null): void;
    /**
     * This method is called when the content server notifies the manager that the current context has changed.
     */
    playableContentManager$didUpdateContext$?(contentManager: _MPPlayableContentManager, context: _MPPlayableContentManagerContext): void;
}
