/**
 * Result status of getting the variable.
 *
 *
 */
export declare type GetVariableStatusEnumType = 'Accepted' | 'Rejected' | 'UnknownComponent' | 'UnknownVariable' | 'NotSupportedAttributeType';
/**
 * Attribute type for which value is requested. When absent, default Actual is assumed.
 *
 */
export declare type AttributeEnumType = 'Actual' | 'Target' | 'MinSet' | 'MaxSet';
export default interface GetVariablesResponse {
    customData?: CustomDataType;
    getVariableResult: [GetVariableResultType, ...GetVariableResultType[]];
}
/**
 * This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.
 */
export interface CustomDataType {
    vendorId: string;
    [k: string]: unknown;
}
/**
 * Class to hold results of GetVariables request.
 *
 */
export interface GetVariableResultType {
    customData?: CustomDataType;
    attributeStatusInfo?: StatusInfoType;
    attributeStatus: GetVariableStatusEnumType;
    attributeType?: AttributeEnumType;
    /**
     * Value of requested attribute type of component-variable. This field can only be empty when the given status is NOT accepted.
     *
     * The Configuration Variable &lt;&lt;configkey-reporting-value-size,ReportingValueSize&gt;&gt; can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal.
     *
     *
     */
    attributeValue?: string;
    component: ComponentType;
    variable: VariableType;
}
/**
 * Element providing more information about the status.
 *
 */
export interface StatusInfoType {
    customData?: CustomDataType;
    /**
     * A predefined code for the reason why the status is returned in this response. The string is case-insensitive.
     *
     */
    reasonCode: string;
    /**
     * Additional text to provide detailed information.
     *
     */
    additionalInfo?: string;
}
/**
 * A physical or logical component
 *
 */
export interface ComponentType {
    customData?: CustomDataType;
    evse?: EVSEType;
    /**
     * Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.
     *
     */
    name: string;
    /**
     * Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.
     *
     */
    instance?: string;
}
/**
 * EVSE
 * urn:x-oca:ocpp:uid:2:233123
 * Electric Vehicle Supply Equipment
 *
 */
export interface EVSEType {
    customData?: CustomDataType;
    /**
     * Identified_ Object. MRID. Numeric_ Identifier
     * urn:x-enexis:ecdm:uid:1:569198
     * EVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.
     *
     */
    id: number;
    /**
     * An id to designate a specific connector (on an EVSE) by connector index number.
     *
     */
    connectorId?: number;
}
/**
 * Reference key to a component-variable.
 *
 */
export interface VariableType {
    customData?: CustomDataType;
    /**
     * Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.
     *
     */
    name: string;
    /**
     * Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.
     *
     */
    instance?: string;
}
