import type { _NSObject } from "../Foundation/NSObject.js";
import type { _AVAssetWriterInput } from "./AVAssetWriterInput.js";
import type { _AVCaption } from "./AVCaption.js";
import type { _AVCaptionGroup } from "./AVCaptionGroup.js";
export declare class _AVAssetWriterInputCaptionAdaptor extends _NSObject {
    static alloc(): _AVAssetWriterInputCaptionAdaptor;
    static new(): _AVAssetWriterInputCaptionAdaptor;
    init(): _AVAssetWriterInputCaptionAdaptor;
    /** Creates a new caption adaptor for writing to the specified asset writer input. */
    static assetWriterInputCaptionAdaptorWithAssetWriterInput$(input: _AVAssetWriterInput): _AVAssetWriterInputCaptionAdaptor;
    /**
     * Creates a new caption adaptor for writing to the specified asset writer input. This method thows an exception for any of the following reasons: - input is nil - the input's media type is not supported (should use text or closed caption) - the input is already attached to an asset writer caption adaptor - the input has already started writing
     */
    initWithAssetWriterInput$(input: _AVAssetWriterInput): _AVAssetWriterInputCaptionAdaptor;
    /**
     * Append a single caption to be written. If this method returns NO, check the value of AVAssetWriter.status on the attached asset writer to determine why appending failed. The start time of each caption's timeRange property must be numeric (see CMTIME_IS_NUMERIC) and must be at least as large as the start time of any previous caption (including any captions present in a group appended via -appendCaptionGroup:). In other words, the sequence of captions appended using this method must have monotonically increasing start times. The duration of each caption's timeRange property must be numeric. - Parameter caption: The caption to append. - Returns: Returns YES if the operation succeeded, NO if it failed.
     */
    appendCaption$(caption: _AVCaption): boolean;
    /**
     * Append a group of captions to be written. If this method returns NO, check the value of AVAssetWriter.status on the attached asset writer to determine why appending failed. When appending a sequence of captions groups, the start time of each group must be equal to or greater than the end time of any previous group. The easiest way to achieve this is to create the group using a caption whose duration is kCMTimeInvalid, in which case the duration will be determined by subtracting the start time of the group from the start time of the next appended group. When mixing calls to -appendCaptionGroup: and -appendCaption:, the start time of each group must be equal to or greater than the end time of any previous captions. To mark a time range containing no captions, append a group containing an empty caption array. - Parameter captionGroup: - Returns: Returns YES if the operation succeeded, NO if it failed.
     */
    appendCaptionGroup$(captionGroup: _AVCaptionGroup): boolean;
    /** The asset writer input that was used to initialize the receiver. */
    assetWriterInput(): _AVAssetWriterInput;
}
