import type { NobjcObject } from "objc-js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSError } from "../Foundation/NSError.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _PHContentEditingInput } from "./PHContentEditingInput.js";
import type { _PHContentEditingOutput } from "./PHContentEditingOutput.js";
import type { _PHLivePhoto } from "./PHLivePhoto.js";
import type { _PHLivePhotoFrame } from "./PHLivePhotoFrame.js";
import type { _CIImage } from "../CoreImage/CIImage.js";
import type { CGSize } from "../structs/CGSize.js";
import type { CMTime } from "../structs/CMTime.js";
export declare class _PHLivePhotoEditingContext extends _NSObject {
    static alloc(): _PHLivePhotoEditingContext;
    static new(): _PHLivePhotoEditingContext;
    init(): _PHLivePhotoEditingContext;
    /**
     * Initializer from the specified live photo input Return nil if the specified input is not for a live photo
     */
    initWithLivePhotoEditingInput$(livePhotoInput: _PHContentEditingInput): _PHLivePhotoEditingContext | null;
    /**
     * Asynchronously generate a new live photo suitable for playback in a PHLivePhotoView of the specified target size The options dictionary can contain additional options, see below
     */
    prepareLivePhotoForPlaybackWithTargetSize$options$completionHandler$(targetSize: CGSize, options: _NSDictionary | null, handler: ((livePhoto: _PHLivePhoto, error: _NSError) => void) | null): void;
    /**
     * Asynchronously process and save the edited live photo to the specified content editing output Options dictionary should be nil, reserved for future expansion
     */
    saveLivePhotoToOutput$options$completionHandler$(output: _PHContentEditingOutput, options: _NSDictionary | null, handler: ((success: boolean, error: _NSError) => void) | null): void;
    /**
     * Cancel the current asynchronous operation This is implicitly called whenever prepare or save is called A canceled operation will call its completion handler with an appropriate error code
     */
    cancel(): void;
    /** The original full-size image from the input live photo */
    fullSizeImage(): _CIImage;
    /** The duration of the live photo */
    duration(): CMTime;
    /** The time of the still image within the live photo */
    photoTime(): CMTime;
    /**
     * A block that can be set to process each frame of the live photo Note that the context uses a copy of the processor block during processing
     */
    frameProcessor(): ((arg0: _PHLivePhotoFrame, arg1: NobjcObject) => _CIImage) | null;
    setFrameProcessor$(value: ((arg0: _PHLivePhotoFrame, arg1: NobjcObject) => _CIImage) | null): void;
    /**
     * Specify the audio volume of the edited live photo Must be between 0.0 and 1.0 Default to 1.0
     */
    audioVolume(): number;
    setAudioVolume$(value: number): void;
    /** The orientation of the live photo */
    orientation(): NobjcObject;
}
