/**
 * Shell EVLib
 *
 * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ).
 */
import { ApiResponse, RequestOptions } from '../core';
import { ActiveResponse200Json } from '../models/activeResponse200Json';
import { ChargesessionStartBody } from '../models/chargesessionStartBody';
import { GetChargeSessionRetrieveResponse200Json } from '../models/getChargeSessionRetrieveResponse200Json';
import { InlineResponse202 } from '../models/inlineResponse202';
import { InlineResponse2021 } from '../models/inlineResponse2021';
import { BaseController } from './baseController';
export declare class ChargingController extends BaseController {
    /**
     * This endpoint start the charging session for the user.
     *
     * @param requestId    RequestId must be unique identifier value that can be used
     *                                                      by the consumer to correlate each request /response .
     *                                                      <br>Format.<br> Its canonical textual representation, the 16
     *                                                      octets of a UUID are represented as 32 hexadecimal (base-16)
     *                                                      digits, displayed in five groups separated by hyphens, in the
     *                                                      form 8-4-4-4-12 for a total of 36 characters (32 hexadecimal
     *                                                      characters and 4 hyphens) <br>
     * @param body
     * @return Response from the API call
     */
    start(requestId: string, body?: ChargesessionStartBody, requestOptions?: RequestOptions): Promise<ApiResponse<InlineResponse202>>;
    /**
     * Accepts a request to stop an active session when a valid session id is provided.
     *
     * @param requestId RequestId must be unique identifier value that can be used by the consumer to
     *                            correlate each request /response .<br>Format.<br> Its canonical textual representation,
     *                            the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed
     *                            in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36
     *                            characters (32 hexadecimal characters and 4 hyphens) <br>
     * @param sessionId Session Id
     * @return Response from the API call
     */
    stop(requestId: string, sessionId: string, requestOptions?: RequestOptions): Promise<ApiResponse<InlineResponse2021>>;
    /**
     * This endpoint returns the details of the session if the session is found.
     *
     * @param requestId RequestId must be unique identifier value that can be used by the consumer to
     *                            correlate each request /response .<br>Format.<br> Its canonical textual representation,
     *                            the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed
     *                            in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36
     *                            characters (32 hexadecimal characters and 4 hyphens) <br>
     * @param sessionId Session Id
     * @return Response from the API call
     */
    getChargeSessionRetrieve(requestId: string, sessionId: string, requestOptions?: RequestOptions): Promise<ApiResponse<GetChargeSessionRetrieveResponse200Json>>;
    /**
     * Fetrches the active sessions for user.
     *
     * @param requestId RequestId must be unique identifier value that can be used by the consumer to
     *                            correlate each request /response .<br>Format.<br> Its canonical textual representation,
     *                            the 16 octets of a UUID are represented as 32 hexadecimal (base-16) digits, displayed
     *                            in five groups separated by hyphens, in the form 8-4-4-4-12 for a total of 36
     *                            characters (32 hexadecimal characters and 4 hyphens) <br>
     * @param emaId     Emobility Account Identifier(Ema-ID)
     * @return Response from the API call
     */
    active(requestId: string, emaId: string, requestOptions?: RequestOptions): Promise<ApiResponse<ActiveResponse200Json>>;
}
