import type { _AVCaption } from "./AVCaption.js";
import type { _AVCaptionRegion } from "./AVCaptionRegion.js";
import type { _AVCaptionRuby } from "./AVCaptionRuby.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CMTimeRange } from "../structs/CMTimeRange.js";
import type { NSRange } from "../structs/NSRange.js";
import type { AVCaptionAnimation } from "./AVCaptionAnimation.js";
import type { AVCaptionDecoration } from "./AVCaptionDecoration.js";
import type { AVCaptionFontStyle } from "./AVCaptionFontStyle.js";
import type { AVCaptionFontWeight } from "./AVCaptionFontWeight.js";
import type { AVCaptionTextAlignment } from "./AVCaptionTextAlignment.js";
import type { AVCaptionTextCombine } from "./AVCaptionTextCombine.js";
export declare class _AVMutableCaption extends _AVCaption {
    static alloc(): _AVMutableCaption;
    static new(): _AVMutableCaption;
    init(): _AVMutableCaption;
    /**
     * @method setTextColor:inRange: @abstract Set text color for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setTextColor$inRange$(color: Uint8Array, range: NSRange): void;
    /**
     * @method setBackgroundColor:inRange: @abstract Set background color for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setBackgroundColor$inRange$(color: Uint8Array, range: NSRange): void;
    /**
     * @method setFontWeight:inRange: @abstract Set font weight for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setFontWeight$inRange$(fontWeight: AVCaptionFontWeight, range: NSRange): void;
    /**
     * @method setFontStyle:inRange: @abstract Set font style for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setFontStyle$inRange$(fontStyle: AVCaptionFontStyle, range: NSRange): void;
    /**
     * @method setDecoration:inRange: @abstract Set text decoration for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setDecoration$inRange$(decoration: AVCaptionDecoration, range: NSRange): void;
    /**
     * @method setTextCombine:inRange: @abstract Set text combine for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setTextCombine$inRange$(textCombine: AVCaptionTextCombine, range: NSRange): void;
    /**
     * @method setRuby:inRange: @abstract Set ruby text for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    setRuby$inRange$(ruby: _AVCaptionRuby, range: NSRange): void;
    /**
     * @method removeTextColorInRange: @abstract Remove text color for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeTextColorInRange$(range: NSRange): void;
    /**
     * @method removeBackgroundColorInRange: @abstract Remove background color for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeBackgroundColorInRange$(range: NSRange): void;
    /**
     * @method removeFontWeightInRange: @abstract Remove font weight for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeFontWeightInRange$(range: NSRange): void;
    /**
     * @method removeFontStyleInRange: @abstract Remove font style for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeFontStyleInRange$(range: NSRange): void;
    /**
     * @method removeDecorationInRange: @abstract Remove text decoration for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeDecorationInRange$(range: NSRange): void;
    /**
     * @method removeTextCombineInRange: @abstract Remove text combine for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeTextCombineInRange$(range: NSRange): void;
    /**
     * @method removeRubyInRange: @abstract Remove ruby text for the range. @discussion The range parameter uses UTF-16 code unit index range.
     */
    removeRubyInRange$(range: NSRange): void;
    /**
     * @property text @abstract The text content of the caption. @discussion All styling information is cleared on setting this property.
     */
    text(): _NSString;
    setText$(value: _NSString): void;
    /**
     * @property timeRange @abstract The time range during which the caption should be presented.
     */
    timeRange(): CMTimeRange;
    setTimeRange$(value: CMTimeRange): void;
    /**
     * @property region @abstract The region where the caption is placed. @discussion It can be nil when the underlying caption format doesn't support or use regions. This property throws an exception if region has unrecognizeable units.
     */
    region(): _AVCaptionRegion;
    setRegion$(value: _AVCaptionRegion): void;
    /**
     * @property textAlignment @abstract The text alignemnt within the containing region.
     */
    textAlignment(): AVCaptionTextAlignment;
    setTextAlignment$(value: AVCaptionTextAlignment): void;
    animation(): AVCaptionAnimation;
    setAnimation$(value: AVCaptionAnimation): void;
}
