import type { NobjcObject } from "objc-js";
import type { _AVVideoCompositionInstruction } from "./AVVideoCompositionInstruction.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { CMTimeRange } from "../structs/CMTimeRange.js";
export declare class _AVMutableVideoCompositionInstruction extends _AVVideoCompositionInstruction {
    static alloc(): _AVMutableVideoCompositionInstruction;
    static new(): _AVMutableVideoCompositionInstruction;
    init(): _AVMutableVideoCompositionInstruction;
    /**
     * Returns a new instance of AVMutableVideoCompositionInstruction. The returned AVMutableVideoCompositionInstruction will have a timeRange of kCMTimeRangeInvalid, a NULL backgroundColor, and a nil array of layerInstructions.
     */
    static videoCompositionInstruction(): _AVMutableVideoCompositionInstruction;
    /**
     * Indicates the timeRange during which the instruction is effective. Note requirements for the timeRanges of instructions described in connection with AVVideoComposition's instructions key above.
     */
    timeRange(): CMTimeRange;
    setTimeRange$(value: CMTimeRange): void;
    /**
     * Indicates the background color of the composition. Solid BGRA colors only are supported; patterns and other color refs that are not supported will be ignored. - If the background color is not specified the video compositor will use a default backgroundColor of opaque black. - If the rendered pixel buffer does not have alpha, the alpha value of the backgroundColor will be ignored.
     */
    backgroundColor(): NobjcObject;
    setBackgroundColor$(value: Uint8Array | null): void;
    /**
     * Provides an array of instances of AVVideoCompositionLayerInstruction that specify how video frames from source tracks should be layered and composed. Tracks are layered in the composition according to the top-to-bottom order of the layerInstructions array; the track with trackID of the first instruction in the array will be layered on top, with the track with the trackID of the second instruction immediately underneath, etc. If this key is nil, the output will be a fill of the background color.
     */
    layerInstructions(): _NSArray;
    setLayerInstructions$(value: _NSArray): void;
    /**
     * If NO, indicates that post-processing should be skipped for the duration of this instruction. YES by default. See +[AVVideoCompositionCoreAnimationTool videoCompositionToolWithPostProcessingAsVideoLayer:inLayer:].
     */
    enablePostProcessing(): boolean;
    setEnablePostProcessing$(value: boolean): void;
    /**
     * List of sample data track IDs required to compose frames for this instruction. Currently only tracks of type kCMMediaType_Metadata are allowed to be specified. If this property is unspecified or is an empty array, no sample data is considered to be required for this instruction. Note that you must also specify all tracks for which sample data is required for ANY instruction in the AVVideoComposition, in AVVideoComposition's property sourceSampleDataTrackIDs.
     */
    requiredSourceSampleDataTrackIDs(): _NSArray;
    setRequiredSourceSampleDataTrackIDs$(value: _NSArray): void;
}
