import type { _AVPlayer } from "./AVPlayer.js";
import type { _AVPlayerItem } from "./AVPlayerItem.js";
import type { _NSArray } from "../Foundation/NSArray.js";
export declare class _AVQueuePlayer extends _AVPlayer {
    static alloc(): _AVQueuePlayer;
    static new(): _AVQueuePlayer;
    init(): _AVQueuePlayer;
    /**
     * Creates an instance of AVQueuePlayer and enqueues the AVPlayerItems from the specified array. - Parameter items: An NSArray of AVPlayerItems with which to populate the player's queue initially. - Returns: An instance of AVQueuePlayer.
     */
    static queuePlayerWithItems$(items: _NSArray): _AVQueuePlayer;
    /**
     * Initializes an instance of AVQueuePlayer by enqueueing the AVPlayerItems from the specified array. This method throws an exception if items contains duplicated values or values associated with another AVPlayer. - Parameter items: An NSArray of AVPlayerItems with which to populate the player's queue initially. - Returns: An instance of AVQueuePlayer.
     */
    initWithItems$(items: _NSArray): _AVQueuePlayer;
    /**
     * Provides an array of the currently enqueued items. - Returns: An NSArray containing the enqueued AVPlayerItems.
     */
    items(): _NSArray;
    /**
     * Ends playback of the current item and initiates playback of the next item in the player's queue. Removes the current item from the play queue.
     */
    advanceToNextItem(): void;
    /**
     * Tests whether an AVPlayerItem can be inserted into the player's queue. Note that adding the same AVPlayerItem to an AVQueuePlayer at more than one position in the queue is not supported. - Parameter item: The AVPlayerItem to be tested. - Parameter afterItem: The item that the item to be tested is to follow in the queue. Pass nil to test whether the item can be appended to the queue. - Returns: An indication of whether the item can be inserted into the queue after the specified item.
     */
    canInsertItem$afterItem$(item: _AVPlayerItem, afterItem: _AVPlayerItem | null): boolean;
    /**
     * Places an AVPlayerItem after the specified item in the queue. This method throws an exception if item already exists in the queue. - Parameter item: The item to be inserted. - Parameter afterItem: The item that the newly inserted item should follow in the queue. Pass nil to append the item to the queue.
     */
    insertItem$afterItem$(item: _AVPlayerItem, afterItem: _AVPlayerItem | null): void;
    /**
     * Removes an AVPlayerItem from the queue. If the item to be removed is currently playing, has the same effect as -advanceToNextItem. - Parameter item: The item to be removed.
     */
    removeItem$(item: _AVPlayerItem): void;
    /** Removes all items from the queue. Stops playback by the target. */
    removeAllItems(): void;
}
