import type { ConnectedResponse } from '../models/ConnectedResponse';
import type { ConnectionKey } from '../models/ConnectionKey';
import type { ErrorResponse } from '../models/ErrorResponse';
import type { InfoResponse } from '../models/InfoResponse';
import type { Mode } from '../models/Mode';
import type { ModeUpdate } from '../models/ModeUpdate';
import type { ModeUpdateResponse } from '../models/ModeUpdateResponse';
import type { RPCResult } from '../models/RPCResult';
import type { SettingsResponse } from '../models/SettingsResponse';
import type { StatusResponse } from '../models/StatusResponse';
import type { CancelablePromise } from '../core/CancelablePromise';
import type { BaseHttpRequest } from '../core/BaseHttpRequest';
export declare class BaseService {
readonly httpRequest: BaseHttpRequest;
constructor(httpRequest: BaseHttpRequest);
/**
* Get the current mode of the device.
* Get the current mode of the device.
* @param xConnectionKey Device connection key or a channel reference.
* @returns any ModeResponse
* @throws ApiError
*/
getMode(xConnectionKey: string): CancelablePromise<((RPCResult & {
mode: Mode;
}) | ErrorResponse)>;
/**
* Set the current mode of the device.
* Set the current mode of the device.
* @param xConnectionKey Device connection key or a channel reference.
* @param requestBody
* @returns any ModeUpdateResponse
* @throws ApiError
*/
setMode(xConnectionKey: string, requestBody: ModeUpdate): CancelablePromise<(ModeUpdateResponse | ErrorResponse)>;
/**
* Check device connectivity.
* Check if a specifc device is connected and online. This is the fastest way to check device connectivity.
If you need a continuous device connectivity check, this is the endpoint you should be using.
* @param xConnectionKey Device connection key.
* @returns ConnectedResponse Machine connected status
* @throws ApiError
*/
isConnected(xConnectionKey: ConnectionKey): CancelablePromise;
/**
* Get extended device information.
* Returns information about the device; hardware version, firmware version, firmware status, firmware branch and device model.
The most important information returned is the firmware status value (fwStatus).
Depending on the value the device may or may not need an update for the device to work with your service.
The following values are possible: - UP_TO_DATE(0) - The device is running the latest available firmware. No action required for using your service.
- UPDATE_REQUIRED(1) - The device is running an out-of-date firmware version. An update is required before the device will work with your service.
- UPDATE_AVAILABLE(2) - The device is running a firmware with available updates. The update is not stricly neccessary for the device to work with your service, but the update might improve the user experience.
Whenever the firmware status is not UP_TO_DATE(0), it's recommended that you forward the user to https://www.handyfeeeling.com so the user can easily update their device.
* @param xConnectionKey Device connection key.
* @returns any Device information
* @throws ApiError
*/
getInfo(xConnectionKey: ConnectionKey): CancelablePromise<(ErrorResponse | InfoResponse)>;
/**
* Extended device settings.
* Get various device settings.
* @param xConnectionKey Device connection key.
* @returns any Device settings.
* @throws ApiError
*/
getSettings(xConnectionKey: ConnectionKey): CancelablePromise<(ErrorResponse | SettingsResponse)>;
/**
* Get the device status.
* A convenient endpoint for fetching the current mode of the device and the state within the current mode.
For modes with a single state, the returned state value will always be 0.
For modes with multiple states, see the schema definition for possible values.
* @param xConnectionKey Device connection key.
* @returns any Device status
* @throws ApiError
*/
getStatus(xConnectionKey: ConnectionKey): CancelablePromise<(ErrorResponse | StatusResponse)>;
}