import { CapturingStatusEnum, PhotoCaptureBuilderBase } from './capture';
import type { FilterEnum, PresetEnum } from '../theta-repository/options';
import { NotifyController } from '../theta-repository/notify-controller';
/**
 * PhotoCapture class
 */
export declare class PhotoCapture {
    notify: NotifyController;
    constructor(notify: NotifyController);
    /**
     * Take a picture
     *
     * @param onCapturing Called when change capture status
     * @return promise of token file url
     */
    takePicture(onCapturing?: (status: CapturingStatusEnum) => void): Promise<string | undefined>;
}
/**
 * PhotoCaptureBaseBuilder class
 */
export declare class PhotoCaptureBuilder extends PhotoCaptureBuilderBase<PhotoCaptureBuilder> {
    interval?: number;
    /** construct PhotoCaptureBuilder instance */
    constructor();
    /**
     * set interval of checking take picture status command
     * @param timeMillis interval
     * @returns PhotoCaptureBuilder
     */
    setCheckStatusCommandInterval(timeMillis: number): PhotoCaptureBuilder;
    /**
     * Set image processing filter.
     * @param {FilterEnum} filter Image processing filter to set
     * @return PhotoCaptureBuilder
     */
    setFilter(filter: FilterEnum): PhotoCaptureBuilder;
    /**
     * Set preset mode of Theta SC2 and Theta SC2 for business.
     * @param {FilterEnum} preset Preset mode to set
     * @return PhotoCaptureBuilder
     */
    setPreset(preset: PresetEnum): PhotoCaptureBuilder;
    /**
     * Builds an instance of a PhotoCapture that has all the combined
     * parameters of the Options that have been added to the Builder.
     *
     * @return promise of PhotoCapture instance
     */
    build(): Promise<PhotoCapture>;
}
//# sourceMappingURL=photo-capture.d.ts.map