import type { ApertureEnum, ExposureCompensationEnum, ExposureDelayEnum, ExposureProgramEnum, GpsInfo, GpsTagRecordingEnum, IsoAutoHighLimitEnum, IsoEnum, Options, PhotoFileFormatEnum, WhiteBalanceEnum } from '../theta-repository/options';
/**
 * Capture Builder class
 */
export declare abstract class CaptureBuilder<T extends CaptureBuilder<T>> {
    /** capture options */
    options: Options;
    /** construct capture builder instance */
    constructor();
    /**
     * Set aperture value.
     * @param {ApertureEnum} aperture aperture value to set
     * @return CaptureBuilder
     */
    setAperture(aperture: ApertureEnum): T;
    /**
     * Set color temperature of the camera (Kelvin).
     * @param {number} kelvin Color temperature to set
     * @return CaptureBuilder
     */
    setColorTemperature(kelvin: number): T;
    /**
     * Set exposure compensation (EV).
     * @param {ExposureCompensationEnum} value Exposure compensation to set
     * @return CaptureBuilder
     */
    setExposureCompensation(value: ExposureCompensationEnum): T;
    /**
     * Set operating time (sec.) of the self-timer.
     * @param {ExposureDelayEnum} delay Operating time to set
     * @return CaptureBuilder
     */
    setExposureDelay(delay: ExposureDelayEnum): T;
    /**
     * Set exposure program. The exposure settings that take priority can be selected.
     * @param {ExposureProgramEnum} program Exposure program to set
     * @return CaptureBuilder
     */
    setExposureProgram(program: ExposureProgramEnum): T;
    /**
     * Set GPS information.
     * @param {GpsInfo} gpsInfo GPS information to set
     * @return CaptureBuilder
     */
    setGpsInfo(gpsInfo: GpsInfo): T;
    /**
     * Set turns position information assigning ON/OFF.
     * @param {GpsTagRecordingEnum} value Turns position information assigning ON/OFF to set
     * @return CaptureBuilder
     */
    setGpsTagRecording(value: GpsTagRecordingEnum): T;
    /**
     * Set ISO sensitivity.
     * @param {IsoEnum} iso ISO sensitivity to set
     * @return CaptureBuilder
     */
    setIso(iso: IsoEnum): T;
    /**
     * Set ISO sensitivity upper limit when ISO sensitivity is set to automatic.
     * @param {IsoAutoHighLimitEnum} iso ISO sensitivity upper limit to set
     * @return CaptureBuilder
     */
    setIsoAutoHighLimit(iso: IsoAutoHighLimitEnum): T;
    /**
     * Set white balance.
     * @param {WhiteBalanceEnum} whiteBalance White balance to set
     * @return CaptureBuilder
     */
    setWhiteBalance(whiteBalance: WhiteBalanceEnum): T;
}
/** Capturing status */
export declare const CapturingStatusEnum: {
    /** The process is starting */
    readonly STARTING: "STARTING";
    /** Capture in progress */
    readonly CAPTURING: "CAPTURING";
    /** Self-timer in progress */
    readonly SELF_TIMER_COUNTDOWN: "SELF_TIMER_COUNTDOWN";
    /** Performing timeShift shooting */
    readonly TIME_SHIFT_SHOOTING: "TIME_SHIFT_SHOOTING";
    /** Performing second capture of manual timeShift shooting */
    readonly TIME_SHIFT_SHOOTING_SECOND: "TIME_SHIFT_SHOOTING_SECOND";
    /**
     * In the case of time-lag shooting by manual lens,
     * set while waiting for the second shot to be taken after the first shot is completed.
     */
    readonly TIME_SHIFT_SHOOTING_IDLE: "TIME_SHIFT_SHOOTING_IDLE";
};
/** type definition of CapturingStatusEnum */
export type CapturingStatusEnum = (typeof CapturingStatusEnum)[keyof typeof CapturingStatusEnum];
export declare class PhotoCaptureBuilderBase<T extends PhotoCaptureBuilderBase<T>> extends CaptureBuilder<T> {
    /**
     * Set photo file format.
     * @param {PhotoFileFormatEnum} fileFormat Photo file format to set
     * @return PhotoCaptureBuilder
     */
    setFileFormat(fileFormat: PhotoFileFormatEnum): T;
}
//# sourceMappingURL=capture.d.ts.map