import type { _AVPlayerItemOutput } from "./AVPlayerItemOutput.js";
import type { _AVPlayerItemRenderedLegibleOutputPushDelegate } from "./AVPlayerItemRenderedLegibleOutputPushDelegate.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { CGSize } from "../structs/CGSize.js";
export declare class _AVPlayerItemRenderedLegibleOutput extends _AVPlayerItemOutput {
    static alloc(): _AVPlayerItemRenderedLegibleOutput;
    static new(): _AVPlayerItemRenderedLegibleOutput;
    init(): _AVPlayerItemRenderedLegibleOutput;
    /**
     * @method initWithVideoDisplaySize: @abstract Creates an instance of AVPlayerItemRenderedLegibleOutput. @param videoDisplaySize CGSize for the video display area @discussion This is the only available initializer for AVPlayerItemRenderedLegibleOutput. The client can also choose to reset videoDisplaySize after initialization or during playback. Initializing and resetting videoDisplaySize with a zero height or width will result in an exception being thrown.
     */
    initWithVideoDisplaySize$(videoDisplaySize: CGSize): _AVPlayerItemRenderedLegibleOutput;
    /**
     * @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 AVPlayerItemRenderedLegibleOutputPushDelegate protocol. @param delegateQueue A dispatch queue on which all delegate methods will be called. @discussion The delegate is held using a zeroing-weak reference, so it is safe to deallocate the delegate while the receiver still has a reference to it.
     */
    setDelegate$queue$(delegate: _AVPlayerItemRenderedLegibleOutputPushDelegate | 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(): _AVPlayerItemRenderedLegibleOutputPushDelegate | null;
    /**
     * @property delegateQueue @abstract The dispatch queue where the delegate is messaged. @discussion This property is not key-value observable.
     */
    delegateQueue(): _NSObject | null;
    /**
     * @property advanceIntervalForDelegateInvocation @abstract Permits advance invocation of the associated delegate, if any. @discussion If it is possible, an AVPlayerItemRenderedLegibleOutput will message its delegate advanceIntervalForDelegateInvocation seconds earlier than otherwise. If the value you provide is large, effectively requesting provision of samples earlier than the AVPlayerItemRenderedLegibleOutput is prepared to act on them, the delegate will be invoked as soon as possible.
     */
    advanceIntervalForDelegateInvocation(): number;
    setAdvanceIntervalForDelegateInvocation$(value: number): void;
    /**
     * @property videoDisplaySize @abstract Permits rendering of pixel buffers according to the set width and height @discussion The client is expected to set videodisplay size during init and may also set it again during playback. The pixel buffers will be rendered according to the set width and height of display area. If this property is set during the presentation time of a vended caption image, a new caption image rendered according to new videoDisplaySize, will be vended out. Setting this property with a zero height or width will result in an exception being thrown and it is client's responsibility to handle it using appropriate catch block.
     */
    videoDisplaySize(): CGSize;
    setVideoDisplaySize$(value: CGSize): void;
}
