import { CaptureBuilder, CapturingStatusEnum } from './capture';
import { NotifyController } from '../theta-repository/notify-controller';
import type { BurstBracketStepEnum, BurstCaptureNumEnum, BurstCompensationEnum, BurstEnableIsoControlEnum, BurstMaxExposureTimeEnum, BurstModeEnum, BurstOrderEnum } from '../theta-repository/options';
/**
 * BurstCapture class
 */
export declare class BurstCapture {
    notify: NotifyController;
    constructor(notify: NotifyController);
    /**
     * start burst shooting
     * @param onProgress the block for burst shooting onProgress
     * @param onStopFailed Called when stopCapture error occurs
     * @param onCapturing Called when change capture status
     * @return promise of captured file url
     */
    startCapture(onProgress?: (completion?: number) => void, onStopFailed?: (error: any) => void, onCapturing?: (status: CapturingStatusEnum) => void): Promise<string[] | undefined>;
    /**
     * cancel burst shooting
     */
    cancelCapture(): Promise<any>;
}
/**
 * BurstCaptureBuilder class
 */
export declare class BurstCaptureBuilder extends CaptureBuilder<BurstCaptureBuilder> {
    interval?: number;
    readonly burstCaptureNum: BurstCaptureNumEnum;
    readonly burstBracketStep: BurstBracketStepEnum;
    readonly burstCompensation: BurstCompensationEnum;
    readonly burstMaxExposureTime: BurstMaxExposureTimeEnum;
    readonly burstEnableIsoControl: BurstEnableIsoControlEnum;
    readonly burstOrder: BurstOrderEnum;
    /** construct BurstCaptureBuilder instance */
    constructor(burstCaptureNum: BurstCaptureNumEnum, burstBracketStep: BurstBracketStepEnum, burstCompensation: BurstCompensationEnum, burstMaxExposureTime: BurstMaxExposureTimeEnum, burstEnableIsoControl: BurstEnableIsoControlEnum, burstOrder: BurstOrderEnum);
    /**
     * set interval of checking burst shooting status command
     * @param timeMillis interval
     * @returns BurstCaptureBuilder
     */
    setCheckStatusCommandInterval(timeMillis: number): BurstCaptureBuilder;
    /**
     * BurstMode setting.
     * When this is set to ON, burst shooting is enabled,
     * and a screen dedicated to burst shooting is displayed in Live View.
     * @param mode BurstMode
     * @return BurstCaptureBuilder
     */
    setBurstMode(mode: BurstModeEnum): BurstCaptureBuilder;
    /**
     * Builds an instance of a BurstCapture that has all the combined
     * parameters of the Options that have been added to the Builder.
     * @return promise of BurstCapture instance
     */
    build(): Promise<BurstCapture>;
}
//# sourceMappingURL=burst-capture.d.ts.map