import Service from "../../service";
import Client from "../../client";
import { IRequest } from "../../typings/requestOptions";
import { CloudDeviceApiAsyncResponse } from "../../typings/clouddevice/models";
import { CloudDeviceApiRequest } from "../../typings/clouddevice/models";
import { CloudDeviceApiResponse } from "../../typings/clouddevice/models";
import { ConnectedDevicesResponse } from "../../typings/clouddevice/models";
import { DeviceStatusResponse } from "../../typings/clouddevice/models";
/**
 * API handler for CloudDeviceApi
 */
export declare class CloudDeviceApi extends Service {
    private readonly API_BASEPATH;
    private baseUrl;
    constructor(client: Client);
    /**
    * @summary Send a Terminal API request and receive a synchronous response
    * @param merchantAccount {@link string } The unique identifier of the merchant account. (required)
    * @param deviceId {@link string } The unique identifier of the payment device. Must match POIID in the MessageHeader. (required)
    * @param cloudDeviceApiRequest {@link CloudDeviceApiRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link CloudDeviceApiResponse }
    */
    sync(merchantAccount: string, deviceId: string, cloudDeviceApiRequest: CloudDeviceApiRequest, requestOptions?: IRequest.Options): Promise<CloudDeviceApiResponse>;
    /**
    * @summary Send a Terminal API request and receive an asynchronous response
    * @param merchantAccount {@link string } The unique identifier of the merchant account. (required)
    * @param deviceId {@link string } The unique identifier of the payment device. Must match POIID in the MessageHeader. (required)
    * @param cloudDeviceApiRequest {@link CloudDeviceApiRequest }
    * @param requestOptions {@link IRequest.Options }
    * @return {@link CloudDeviceApiAsyncResponse }
    */
    async(merchantAccount: string, deviceId: string, cloudDeviceApiRequest: CloudDeviceApiRequest, requestOptions?: IRequest.Options): Promise<CloudDeviceApiAsyncResponse>;
    /**
    * @summary Get a list of connected devices
    * @param merchantAccount {@link string } The unique identifier of the merchant account. (required)
    * @param store {@link string } The store ID of the store belonging to the merchant account specified in the path. (optional)
    * @param requestOptions {@link IRequest.Options }
    * @return {@link ConnectedDevicesResponse }
    */
    getConnectedDevices(merchantAccount: string, store?: string, requestOptions?: IRequest.Options): Promise<ConnectedDevicesResponse>;
    /**
    * @summary Get the connection status of a device
    * @param merchantAccount {@link string } The unique identifier of the merchant account. (required)
    * @param deviceId {@link string } The unique identifier of the device. (required)
    * @param requestOptions {@link IRequest.Options }
    * @return {@link DeviceStatusResponse }
    */
    getDeviceStatus(merchantAccount: string, deviceId: string, requestOptions?: IRequest.Options): Promise<DeviceStatusResponse>;
}
