import { OCPP2_0_1 } from '@citrineos/base';
import { Model } from 'sequelize-typescript';
import { Component } from './Component';
import { VariableAttribute } from './VariableAttribute';
export declare class Variable extends Model implements OCPP2_0_1.VariableType {
    static readonly MODEL_NAME: string;
    /**
     * Fields
     */
    name: string;
    instance?: string | null;
    /**
     * Relations
     */
    components?: OCPP2_0_1.ComponentType[];
    variableAttributes?: VariableAttribute[];
    variableCharacteristics?: OCPP2_0_1.VariableCharacteristicsType;
    customData?: OCPP2_0_1.CustomDataType | null;
    addComponent: (variable: Component) => Promise<void>;
    getComponents: () => Promise<Component[]>;
}
