import type { _AVAsset } from "./AVAsset.js";
import type { _AVCompositionTrack } from "./AVCompositionTrack.js";
import type { _AVMediaSelectionGroup } from "./AVMediaSelectionGroup.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSLocale } from "../Foundation/NSLocale.js";
import type { _NSMutableCopying } from "../Foundation/NSMutableCopying.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { CGSize } from "../structs/CGSize.js";
import type { AVMetadataFormat } from "./AVMetadataFormat.js";
export declare class _AVComposition extends _AVAsset {
    static alloc(): _AVComposition;
    static new(): _AVComposition;
    init(): _AVComposition;
    /**
     * Provides an instance of AVCompositionTrack that represents the track of the specified trackID. The trackID of the requested AVCompositionTrack. An instance of AVCompositionTrack; may be nil if no track of the specified trackID is available. Becomes callable without blocking when the key " tracks" has been loaded
     */
    trackWithTrackID$(trackID: number): _AVCompositionTrack | null;
    /**
     * Provides an array of AVCompositionTracks of the asset that present media of the specified media type. The media type according to which the receiver filters its AVCompositionTracks. (Media types are defined in AVMediaFormat.h) An NSArray of AVCompositionTracks; may be empty if no tracks of the specified media type are available. Becomes callable without blocking when the key " tracks" has been loaded
     */
    tracksWithMediaType$(mediaType: _NSString): _NSArray;
    /**
     * Loads an array of AVCompositionTracks of the asset that present media of the specified media type. The media type according to which AVAsset filters its AVCompositionTracks. (Media types are defined in AVMediaFormat.h.) A block that is called when the loading is finished, with either the loaded tracks (which may be empty if no tracks of the specified media type are available) or an error.
     */
    loadTracksWithMediaType$completionHandler$(mediaType: _NSString, completionHandler: ((arg0: _NSArray, arg1: _NSError) => void) | null): void;
    /**
     * Provides an array of AVCompositionTracks of the asset that present media with the specified characteristic. The media characteristic according to which the receiver filters its AVCompositionTracks. (Media characteristics are defined in AVMediaFormat.h) An NSArray of AVCompositionTracks; may be empty if no tracks with the specified characteristic are available. Becomes callable without blocking when the key " tracks" has been loaded
     */
    tracksWithMediaCharacteristic$(mediaCharacteristic: _NSString): _NSArray;
    /**
     * Loads an array of AVCompositionTracks of the asset that present media with the specified characteristic. The media characteristic according to which AVAsset filters its AVCompositionTracks. (Media characteristics are defined in AVMediaFormat.h.) A block that is called when the loading is finished, with either the loaded tracks (which may be empty if no tracks with the specified characteristic are available) or an error.
     */
    loadTracksWithMediaCharacteristic$completionHandler$(mediaCharacteristic: _NSString, completionHandler: ((arg0: _NSArray, arg1: _NSError) => void) | null): void;
    metadataForFormat$(format: AVMetadataFormat): _NSArray;
    chapterMetadataGroupsWithTitleLocale$containingItemsWithCommonKeys$(locale: _NSLocale, commonKeys: _NSArray | null): _NSArray;
    chapterMetadataGroupsBestMatchingPreferredLanguages$(preferredLanguages: _NSArray): _NSArray;
    mediaSelectionGroupForMediaCharacteristic$(mediaCharacteristic: _NSString): _AVMediaSelectionGroup | null;
    unusedTrackID(): number;
    /** Provides the array of AVCompositionTracks contained by the composition. */
    tracks(): _NSArray;
    /** Indicates the authored size of the visual portion of the composition. */
    naturalSize(): CGSize;
    /**
     * Specifies the initialization options for the creation of AVURLAssets by the receiver, e.g. AVURLAssetPreferPreciseDurationAndTimingKey. The default behavior for creation of AVURLAssets by an AVComposition is equivalent to the behavior of +[AVURLAsset URLAssetWithURL:options:] when specifying no initialization options. AVCompositions create AVURLAssets internally for URLs specified by AVCompositionTrackSegments of AVCompositionTracks, as needed, whenever AVCompositionTrackSegments were originally added to a track via -[AVMutableCompositionTrack setSegments:] rather than by inserting timeranges of already existing AVAssets or AVAssetTracks. The value of URLAssetInitializationOptions can be specified at the time an AVMutableComposition is created via +compositionWithURLAssetInitializationOptions:.
     */
    URLAssetInitializationOptions(): _NSDictionary;
}
export interface _AVComposition extends _NSMutableCopying {
}
