import type { BootDto, ComponentDto, VariableAttributeDto, VariableDto, TenantDto } from '@citrineos/base';
import { OCPP2_0_1 } from '@citrineos/base';
import { Model } from 'sequelize-typescript';
import { ChargingStation } from '../Location/index.js';
import { EvseType } from './EvseType.js';
import { VariableStatus } from './VariableStatus.js';
export declare class VariableAttribute extends Model implements OCPP2_0_1.VariableAttributeType, VariableAttributeDto {
    static readonly MODEL_NAME: string;
    /**
     * Fields
     */
    stationId: string;
    chargingStation: ChargingStation;
    type?: OCPP2_0_1.AttributeEnumType | null;
    dataType: OCPP2_0_1.DataEnumType;
    value?: string | null;
    mutability?: OCPP2_0_1.MutabilityEnumType | null;
    persistent?: boolean | null;
    constant?: boolean | null;
    generatedAt: string;
    /**
     * Relations
     */
    variable: VariableDto;
    variableId?: number | null;
    component: ComponentDto;
    componentId?: number | null;
    evse?: EvseType;
    evseDatabaseId?: number | null;
    statuses?: VariableStatus[];
    bootConfig?: BootDto;
    bootConfigId?: string | null;
    customData?: OCPP2_0_1.CustomDataType | null;
    tenantId: number;
    tenant?: TenantDto;
    static setDefaultTenant(instance: VariableAttribute): void;
    constructor(...args: any[]);
}
