import { CaptureBuilder, CapturingStatusEnum } from './capture';
import { NotifyController } from '../theta-repository/notify-controller';
import type { BracketSetting } from '../theta-repository/options';
/**
 * MultiBracketCapture class
 */
export declare class MultiBracketCapture {
    notify: NotifyController;
    constructor(notify: NotifyController);
    /**
     * start multi bracket shooting
     * @param onProgress the block for multi bracket shooting onProgress
     * @param onStopFailed the block for error of cancelCapture
     * @param onCapturing Called when change capture status
     * @return promise of captured file urls
     */
    startCapture(onProgress?: (completion?: number) => void, onStopFailed?: (error: any) => void, onCapturing?: (status: CapturingStatusEnum) => void): Promise<string[] | undefined>;
    /**
     * cancel multi bracket shooting
     */
    cancelCapture(): Promise<any>;
}
/**
 * MultiBracketCaptureBuilder class
 */
export declare class MultiBracketCaptureBuilder extends CaptureBuilder<MultiBracketCaptureBuilder> {
    interval?: number;
    /** construct MultiBracketCaptureBuilder instance */
    constructor();
    /**
     * set interval of checking multi bracket shooting status command
     * @param timeMillis interval
     * @returns MultiBracketCaptureBuilder
     */
    setCheckStatusCommandInterval(timeMillis: number): MultiBracketCaptureBuilder;
    /**
     * Set bracket settings for multi bracket shooting
     *
     * Number of shots in multi bracket shooting
     * |                        | Min | Max |
     * | ---------------------- | --- | --- |
     * | THETA S                | 2   | 13  |
     * | THETA SC               | 2   | 13  |
     * | THETA V                | 2   | 19  |
     * | THETA SC2              | 2   | 13  |
     * | THETA SC2 for business | 2   | 13  |
     * | THETA Z1               | 2   | 19  |
     * | THETA X                | 2   | 13  |
     *
     * @param params array of bracket setting. Size must be the Number of shots in multi bracket shooting.
     *
     * For Theta SC2, S and SC, other settings than iso, shutterSpeed and
     * colorTemperature are ignored.
     * For Theta X, exposureProgram and exposureCompensation are ignored
     * so that always manual program.
     * For others than Theta Z1, aperture is ignored.
     * To setting parameters that are not specified, default values are used.
     *
     * @returns MultiBracketCaptureBuilder
     */
    setBracketSettings(settings: BracketSetting[]): MultiBracketCaptureBuilder;
    /**
     * Builds an instance of a MultiBracketCapture that has all the combined
     * parameters of the Options that have been added to the Builder.
     * @return promise of MultiBracketCapture instance
     */
    build(): Promise<MultiBracketCapture>;
}
//# sourceMappingURL=multi-bracket-capture.d.ts.map