theta-client-react-native
Version:
This library provides a way to control RICOH THETA using.
447 lines • 17.2 kB
TypeScript
import type { AccessPoint, AuthModeEnum } from './access-point';
import type { FileTypeEnum, StorageEnum, ThetaFiles } from './theta-files';
import type { ThetaState } from './theta-state';
import type { ThetaInfo, ThetaModel } from './theta-info';
import type { MetaInfo } from './theta-meta';
import type { PluginInfo } from './theta-plugin';
import type { OptionNameEnum, Options, CaptureModeEnum, Proxy, BurstCaptureNumEnum, BurstBracketStepEnum, BurstCompensationEnum, BurstMaxExposureTimeEnum, BurstEnableIsoControlEnum, BurstOrderEnum } from './options';
import { PhotoCaptureBuilder, VideoCaptureBuilder, TimeShiftCaptureBuilder, TimeShiftManualCaptureBuilder, LimitlessIntervalCaptureBuilder, ShotCountSpecifiedIntervalCaptureBuilder, CompositeIntervalCaptureBuilder, BurstCaptureBuilder, ContinuousCaptureBuilder, MultiBracketCaptureBuilder } from '../capture';
import type { ThetaConfig } from './theta-config';
import type { ThetaTimeout } from './theta-timeout';
import { EventWebSocket } from './event-websocket';
/**
* Set up a log listener for THETA API calls
*
* @param listener Called when there is a THETA API request and response; if undefined, unregister.
*/
export declare function setApiLogListener(listener?: (message: string) => void): Promise<void>;
/**
* initialize theta client sdk
*
* @function initialize
* @param {string} endPoint optional endpoint of camera
* @param {ThetaConfig} config Configuration of initialize. If null, get from THETA.
* @param {ThetaTimeout} timeout Timeout of HTTP call.
* @return promise of boolean result
**/
export declare function initialize(endPoint?: string, config?: ThetaConfig, timeout?: ThetaTimeout): Promise<boolean>;
/**
* Returns whether it is initialized or not.
*
* @function isInitialized
* @return promise of boolean result
**/
export declare function isInitialized(): Promise<boolean>;
/**
* Turn off/on (reboot) the camera.
* Supported models are THETA A1 only.
*
* Error when connecting in CL mode for Japan-bound models only
*
* @function reboot
* @return promise
*/
export declare function reboot(): Promise<void>;
/**
* Reset all device settings and capture settings.
* After reset, the camera will be restarted.
*
* @function reset
* @return promise of boolean result
*/
export declare function reset(): Promise<boolean>;
/**
* Get PhotoCaptureBuilder for take a picture.
*
* @function getPhotoCaptureBuilder
* @return created PhotoCaptureBuilder
*/
export declare function getPhotoCaptureBuilder(): PhotoCaptureBuilder;
/**
* Get TimeShiftCaptureBuilder for time-shift.
*
* @function getTimeShiftCaptureBuilder
* @return created TimeShiftCaptureBuilder
*/
export declare function getTimeShiftCaptureBuilder(): TimeShiftCaptureBuilder;
/**
* Get TimeShiftManualCaptureBuilder for manual time-shift.
*
* @function getTimeShiftManualCaptureBuilder
* @return created TimeShiftManualCaptureBuilder
*/
export declare function getTimeShiftManualCaptureBuilder(): TimeShiftManualCaptureBuilder;
/**
* Get VideoCapture.Builder for capture video.
*
* @function getVideoCaptureBuilder
* @return created VideoCaptureBuilder instance
*/
export declare function getVideoCaptureBuilder(): VideoCaptureBuilder;
/**
* Get LimitlessIntervalCapture.Builder for take limitless interval shooting.
*
* @function getLimitlessIntervalCaptureBuilder
* @return created LimitlessIntervalCaptureBuilder instance
*/
export declare function getLimitlessIntervalCaptureBuilder(): LimitlessIntervalCaptureBuilder;
/**
* Get ShotCountSpecifiedIntervalCapture.Builder for take interval shooting with the shot count specified.
*
* @function getShotCountSpecifiedIntervalCaptureBuilder
* @param {shotCount} shot count specified
* @return created ShotCountSpecifiedIntervalCaptureBuilder instance
*/
export declare function getShotCountSpecifiedIntervalCaptureBuilder(shotCount: number): ShotCountSpecifiedIntervalCaptureBuilder;
/**
* Get CompositeIntervalCapture.Builder for take interval composite shooting.
*
* @function getCompositeIntervalCaptureBuilder
* @param {shootingTimeSec} Shooting time for interval composite shooting (sec)
* @return created CompositeIntervalCaptureBuilder instance
*/
export declare function getCompositeIntervalCaptureBuilder(shootingTimeSec: number): CompositeIntervalCaptureBuilder;
/**
* Get BurstCapture.Builder for take burst shooting.
*
* @function getBurstCaptureBuilder
* @param burstOption Burst shooting setting.
* @return created BurstCaptureBuilder instance
*/
export declare function getBurstCaptureBuilder(burstCaptureNum: BurstCaptureNumEnum, burstBracketStep: BurstBracketStepEnum, burstCompensation: BurstCompensationEnum, burstMaxExposureTime: BurstMaxExposureTimeEnum, burstEnableIsoControl: BurstEnableIsoControlEnum, burstOrder: BurstOrderEnum): BurstCaptureBuilder;
/**
* Get MultiBracketCapture.Builder for take multi bracket shooting.
*
* @function getMultiBracketCaptureBuilder
* @return created MultiBracketCaptureBuilder instance
*/
export declare function getMultiBracketCaptureBuilder(): MultiBracketCaptureBuilder;
/**
* Get ContinuousCapture.Builder for take limitless interval shooting.
*
* @function getContinuousCaptureBuilder
* @return created ContinuousCaptureBuilder instance
*/
export declare function getContinuousCaptureBuilder(): ContinuousCaptureBuilder;
/**
* Start live preview.
* preview frame (JPEG DataURL) send THETA_EVENT_NAME event as
* {
* "data": "DataURL of JPEG Frame"
* }
*
* @function StartLivePreview
* @return promise of boolean result
*/
export declare function getLivePreview(): Promise<boolean>;
/**
* Stop live preview.
*
* @function StopLivePreview
* @return promise of boolean result
*/
export declare function stopLivePreview(): Promise<boolean>;
/**
* Restore setting to THETA
*
* @function restoreSettings
* @return promise of boolean result
*/
export declare function restoreSettings(): Promise<boolean>;
/**
* Stop running self-timer.
*
* @function stopSelfTimer
* @return promise of boolean result
*/
export declare function stopSelfTimer(): Promise<boolean>;
/**
* Converts the movie format of a saved movie.
*
* @function convertVideoFormats
* @param {string} fileUrl URL of a saved movie file to convert
* @param {boolean} toLowResolution If true generates lower resolution
* video, otherwise same resolution.
* @param {boolean} applyTopBottomCorrection apply Top/bottom
* correction. This parameter is ignored on Theta X.
* @param onProgress the block for convertVideoFormats progress
* @return promise of URL of a converted movie file.
*/
export declare function convertVideoFormats(fileUrl: string, toLowResolution: boolean, applyTopBottomCorrection: boolean, onProgress?: (completion: number) => void): Promise<string>;
/**
* Cancels the movie format conversion.
*
* @function cancelVideoConvert
* @return promise of boolean result
*/
export declare function cancelVideoConvert(): Promise<boolean>;
/**
* Turns the wireless LAN off.
*
* @function finishWlan
* @return promise of boolean result
*/
export declare function finishWlan(): Promise<boolean>;
/**
* Registers identification information (UUID) of a BLE device.
*
* @function setBluetoothDevice
* @param {string} uuid UUID of the BLE device to set.
* @return promise of String result
*/
export declare function setBluetoothDevice(uuid: string): Promise<String>;
/**
* Returns the connected THETA model.
*
* @function getThetaModel
* @return promise of THETA model
**/
export declare function getThetaModel(): Promise<ThetaModel | undefined>;
/**
* Get basic information about Theta.
*
* @function getThetaInfo
* @return promise of ThetaInfo
**/
export declare function getThetaInfo(): Promise<ThetaInfo>;
/**
* Acquires open source license information related to the camera.
*
* @function getThetaLicense
* @return Promise of string result, HTML string of the license.
*/
export declare function getThetaLicense(): Promise<string>;
/**
* Get current state of Theta.
*
* @function getThetaState
* @return promise of ThetaState
**/
export declare function getThetaState(): Promise<ThetaState>;
/**
* Lists information of images and videos in Theta.
*
* @function listFiles
* @param {FileTypeEnum} fileType Type of the files to be listed.
* @param {number} startPosition The position of the first file to be
* returned in the list. 0 represents the first file. If
* startPosition is larger than the position of the last file, an
* empty list is returned.
* @param {number} entryCount Desired number of entries to return. If
* entryCount is more than the number of remaining files, just
* return entries of actual remaining files.
* @param {StorageEnum} storage Desired storage. If omitted, return current storage. (RICOH THETA X Version 2.00.0 or later)
* @return promise with a list of file information and number of totalEntries.
* see [camera.listFiles](https://github.com/ricohapi/theta-api-specs/blob/main/theta-web-api-v2.1/commands/camera.list_files.md).
*/
export declare function listFiles(fileTypeEnum: FileTypeEnum, startPosition: number | undefined, entryCount: number, storage?: StorageEnum): Promise<ThetaFiles>;
/**
* Delete files in Theta.
*
* @function deleteFiles
* @param {string[]} fileUrls URLs of the file to be deleted.
* @return promise of boolean result
*/
export declare function deleteFiles(fileUrls: string[]): Promise<boolean>;
/**
* Delete all files in Theta.
*
* @function deleteAllFiles
* @return promise of boolean result
*/
export declare function deleteAllFiles(): Promise<boolean>;
/**
* Delete all image files in Theta.
*
* @function deleteAllImageFiles
* @return promise of boolean result
*/
export declare function deleteAllImageFiles(): Promise<boolean>;
/**
* Delete all video files in Theta.
*
* @function deleteAllVideoFiles
* @return promise of boolean result
*/
export declare function deleteAllVideoFiles(): Promise<boolean>;
/**
* Acquires the properties and property support specifications for
* shooting, the camera, etc.
*
* @function getOptions
* @param {OptionNameEnum[]} optionNames List of OptionNameEnum.
* @return promise of Options acquired
*/
export declare function getOptions(optionNames: OptionNameEnum[]): Promise<Options>;
/**
* Property settings for shooting, the camera, etc.
*
* @function setOptions
* @param {Options} options Camera setting options.
* @return promise of boolean result
*/
export declare function setOptions(options: Options): Promise<boolean>;
/**
* Get metadata of a still image
*
* @function getMetadata
* @param {string} fileUrl URL of a still image file to get metadata
* @return promise of MetaInfo
*/
export declare function getMetadata(fileUrl: string): Promise<MetaInfo>;
/**
* Acquires the access point list used in client mode.
*
* @function listAccessPoints
* @return promise of AccessPoint list
*/
export declare function listAccessPoints(): Promise<AccessPoint[]>;
/**
* Set access point. IP address is set dynamically.
*
* @function setAccessPointDynamically
* @param {string} ssid SSID of the access point.
* @param {} params - Optional parameters for additional configuration.
* @param {boolean} params.ssidStealth true if SSID stealth is enabled.
* @param {AuthModeEnum} params.authMode Authentication mode.
* @param {string} params.password Password. Not set if authMode is “NONE”.
* @param {number} params.connectionPriority Connection priority 1 to 5.
* @param {Proxy} params.proxy Proxy information to be used for the access point.
* @return promise of boolean result
*/
export declare function setAccessPointDynamically(ssid: string, params?: {
ssidStealth?: boolean;
authMode?: AuthModeEnum;
password?: string;
connectionPriority?: number;
proxy?: Proxy;
}): Promise<boolean>;
/**
* Set access point. IP address is set statically.
*
* @function setAccessPointStatically
* @param {string} ssid SSID of the access point.
* @param {string} ipAddress IP address assigns to Theta.
* @param {string} subnetMask Subnet mask.
* @param {string} defaultGateway Default gateway.
* @param {} params - Optional parameters for additional configuration.
* @param {boolean} params.ssidStealth True if SSID stealth is enabled.
* @param {AuthModeEnum} params.authMode Authentication mode.
* @param {string} params.password Password. Not set if authMode is “NONE”.
* @param {number} params.connectionPriority Connection priority 1 to 5.
* @param {string} params.dns1 Primary DNS server.
* @param {string} params.dns2 Secondary DNS server.
* @param {Proxy} params.proxy Proxy information to be used for the access point.
* @return promise of boolean result
*/
export declare function setAccessPointStatically(ssid: string, ipAddress: string, subnetMask: string, defaultGateway: string, params?: {
ssidStealth?: boolean;
authMode?: AuthModeEnum;
password?: string;
connectionPriority?: number;
dns1?: string;
dns2?: string;
proxy?: Proxy;
}): Promise<boolean>;
/**
* Updates the connection priority of the access point.
*
* @function setAccessPointConnectionPriority
* @param {string} ssid SSID of the access point.
* @param {number} connectionPriority Connection priority 1 to 5.
* @param {boolean} ssidStealth True if SSID stealth is enabled.
* @return promise of boolean result
*/
export declare function setAccessPointConnectionPriority(ssid: string, connectionPriority: number, ssidStealth: boolean): Promise<boolean>;
/**
* Deletes access point information used in client mode.
*
* @function deleteAccessPoint
* @param {string} ssid SSID of the access point to delete.
* @return promise of boolean result
*/
export declare function deleteAccessPoint(ssid: string): Promise<boolean>;
/**
* Acquires the shooting properties set by the camera._setMySetting command.
* Just for Theta V and later.
*
* @function getMySetting
* @param captureMode The target shooting mode
* @returns Options of my setting
*/
export declare function getMySetting(captureMode: CaptureModeEnum): Promise<Options>;
/**
* Acquires the shooting properties set by the camera._setMySetting command.
* Just for Theta S and SC.
*
* @function getMySetting
* @param optionNames List of option names to acquire
* @returns Options of my setting
*/
export declare function getMySettingFromOldModel(optionNames: OptionNameEnum[]): Promise<Options>;
/**
* Registers shooting conditions in My Settings
* @function setMySetting
* @param captureMode The target shooting mode. RICOH THETA S and SC do not support My Settings in video capture mode.
* @param options registered to My Settings
* @returns Promise of boolean result, always true
*/
export declare function setMySetting(captureMode: CaptureModeEnum, options: Options): Promise<boolean>;
/**
* Delete shooting conditions in My Settings. Supported just by Theta X and Z1.
* @param captureMode The target shooting mode
* @returns Promise of boolean result, always true
*/
export declare function deleteMySetting(captureMode: CaptureModeEnum): Promise<boolean>;
/**
* Acquires a list of installed plugins
* @function listPlugins
* @return A list of the plugins installed in Theta.
*/
export declare function listPlugins(): Promise<PluginInfo[]>;
/**
* Sets the installed plugin for boot. Supported just by Theta V.
* @function setPlugin
* @param packageName Package name of the target plugin.
* @return Promise of boolean result, always true.
*/
export declare function setPlugin(packageName: string): Promise<boolean>;
/**
* Start the plugin specified by the [packageName].
* @function startPlugin
* @param packageName Package name of the target plugin.
* @return Promise of boolean result, always true.
*/
export declare function startPlugin(packageName: string): Promise<boolean>;
/**
* Stop the running plugin.
* @function stopPlugin
* @return Promise of boolean result, always true.
*/
export declare function stopPlugin(): Promise<boolean>;
/**
* Acquires the license for the installed plugin.
* @function getPluginLicense
* @param packageName Package name of the target plugin.
* @return Promise of string result, HTML string of the license.
*/
export declare function getPluginLicense(packageName: string): Promise<string>;
/**
* Return the plugin orders. Supported just by Theta X and Z1.
* @function getPluginOrders
* @return Promise of string[] result, list of package names of plugins.
*/
export declare function getPluginOrders(): Promise<string[]>;
/**
* Sets the plugin orders. Supported just by Theta X and Z1.
* @function setPluginOrders
* @param plugins list of package names of plugins.
* For Z1, list size must be three. No restrictions for the size for X.
* When not specifying, set an empty string.
* If an empty string is placed mid-way, it will be moved to the front.
* Specifying zero package name will result in an error
* @return Promise of boolean result, always true.
*/
export declare function setPluginOrders(plugins: string[]): Promise<boolean>;
export declare function getEventWebSocket(): Promise<EventWebSocket>;
//# sourceMappingURL=theta-repository.d.ts.map