UNPKG

theta-client-react-native

Version:

This library provides a way to control RICOH THETA using.

448 lines 17.2 kB
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'; export { ThetaWebApiError } from './theta-web-api-error'; /** * 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 */ 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 */ 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 */ 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 */ export declare function startPlugin(packageName: string): Promise<boolean>; /** * Stop the running plugin. * @function stopPlugin * @return Promise of boolean result */ 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 */ export declare function setPluginOrders(plugins: string[]): Promise<boolean>; export declare function getEventWebSocket(): Promise<EventWebSocket>; //# sourceMappingURL=theta-repository.d.ts.map