import type { NobjcObject } from "objc-js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { AVCaptionPoint } from "../structs/AVCaptionPoint.js";
import type { AVCaptionSize } from "../structs/AVCaptionSize.js";
import type { AVCaptionRegionDisplayAlignment } from "./AVCaptionRegionDisplayAlignment.js";
import type { AVCaptionRegionScroll } from "./AVCaptionRegionScroll.js";
import type { AVCaptionRegionWritingMode } from "./AVCaptionRegionWritingMode.js";
export declare class _AVCaptionRegion extends _NSObject {
    static alloc(): _AVCaptionRegion;
    static new(): _AVCaptionRegion;
    init(): _AVCaptionRegion;
    /**
     * @property appleITTTopRegion @abstract The top region for iTT format @discussion This region can be used in iTT format and it occupies the top 15% of the display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with top justified.
     */
    static appleITTTopRegion(): _AVCaptionRegion;
    /**
     * @property appleITTBottomRegion @abstract The bottom region for iTT format @discussion This region can be used in iTT format and it occupies the bottom 15% of the display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with bottom justified.
     */
    static appleITTBottomRegion(): _AVCaptionRegion;
    /**
     * @property appleITTLeftRegion @abstract The left region for iTT format @discussion This region can be used in iTT format and it occupies the left 15% of the display area. The region uses TBRL, a line progresses top to bottom and the block extends from right to left. Each line is stacked with right justified.
     */
    static appleITTLeftRegion(): _AVCaptionRegion;
    /**
     * @property appleITTRightRegion @abstract The right region for iTT format @discussion This region can be used in iTT format and it occupies the right 15% of the display area. The region uses TBRL, a line progresses top to bottom and the block extends from right to left. Each line is stacked with right justified.
     */
    static appleITTRightRegion(): _AVCaptionRegion;
    /**
     * @property subRipTextBottomRegion @abstract The bottom region for SubRip Text (SRT) format @discussion This region can be used in SRT format and it occupies the entire video display area. The region uses LRTB, a line progresses left to right and the block extends from top to bottom. Each line is stacked with bottom justified.
     */
    static subRipTextBottomRegion(): _AVCaptionRegion;
    /**
     * @method encodeWithCoder: @abstract NSCoding protocol method override @discussion This method throws an exception if the caption region's size has different units for width and height, or if the units are unrecognizeable.
     */
    encodeWithCoder$(encoder: _NSCoder): void;
    /**
     * @method isEqual: @abstract NSObject protocol method override @discussion This method throws an exception if the caption region's size has different units for width and height, or if the units are unrecognizeable.
     */
    isEqual$(object_: NobjcObject): boolean;
    /**
     * @property identifier @abstract Identifier for the region @discussion When regionIdentifier is nil, two regions with the same position and endPosition are considered to be same, that is captions referring these regions belong to the same region when serialized to a format like TTML. In addition, the AVCaptionRegion cannot be mutably copied. When regionIdentifier is not nil, two regions are same if and only if the region identifier is equal. It is a client's responsibility to ensure these AVCaptionRegion objects have the same properties.
     */
    identifier(): _NSString | null;
    /**
     * @property origin @abstract The position of the top-left of the region, potentially with unspecified fields. @discussion It returns an AVCaptionPoint potentially with unspecified x and/or y fields. Unspecified dimensions indicate the region doesn't have positioning information for that dimension.
     */
    origin(): AVCaptionPoint;
    /**
     * @property size @abstract The width and height of the region, potentally with unspecified fields. @discussion It returns an AVCaptionSize potentially with unspecified width and/or height. CEA608 closed captions support limits the size.height property’s value to 1 cell except when the AVCaptionRegionScroll is AVCaptionRegionScrollRollUp. If the AVCaptionRegionScroll is AVCaptionRegionScrollRollUp, the size.height property’s value must be 2, 3 or 4 cells. It returns an AVCaptionSize with unspecifed width and height when the region doesn't have width or height information.
     */
    size(): AVCaptionSize;
    /**
     * @property scroll @abstract Scroll mode for the region @discussion See AVCaptionRegionScrollXXX enum for possible values.
     */
    scroll(): AVCaptionRegionScroll;
    /** @property displayAlignment @abstract Alignment of lines for the region */
    displayAlignment(): AVCaptionRegionDisplayAlignment;
    /**
     * @property writingMode @abstract The block and inline progression direction of the region.
     */
    writingMode(): AVCaptionRegionWritingMode;
}
export interface _AVCaptionRegion extends _NSCopying {
}
