import { type BrandProfile, type BrandProfilesConfig } from './brandProfiles.js'; import { type EvseConfigEntry } from './evseConfig.js'; import { type BootOptions, OcppClient, type ConnectorState, type LocalStartResult, type LocalStopResult } from './ocppClient.js'; export type ChargerProperties = EvseConfigEntry & { evseId: string; }; export type ChargerOptions = { csmsUrl?: string; connectors?: number; bootOverrides?: Partial; brandProfile?: BrandProfile | null; chargerPassword?: string; }; export type ChargerFleetLoadOptions = { csmsUrl?: string; connectors?: number; bootTemplate?: Partial; bootOverrides?: Partial; baseBrandName?: string; profilesConfig?: BrandProfilesConfig | null; chargerPassword?: string; }; export type ChargerSnapshot = { evseId: string; csmsUrl: string; connectors: number; connected: boolean; state: ConnectorState; firmwareVersion: string; power: { amps: number; volts: number; watts: number; }; }; export declare class Charger { readonly evseId: string; readonly csmsUrl: string; readonly connectors: number; readonly bootOptions: BootOptions; readonly brandProfile: BrandProfile | null; private readonly client; constructor(properties: ChargerProperties, options?: ChargerOptions); connect(): Promise; shutdown(): Promise; disconnect(): Promise; reconnect(): Promise; isConnected(): boolean; getState(): ConnectorState; getPower(): { watts: number; amps: number; volts: number; }; setPower(amps?: number, volts?: number): void; localStart(connectorId?: number, idTag?: string): Promise; stopConnector(connectorId?: number): Promise; setStatus(status: ConnectorState, connectorId?: number): Promise; getClient(): OcppClient; snapshot(): ChargerSnapshot; } export declare function createChargers(propertiesList: ChargerProperties[], options?: ChargerOptions): Charger[]; export type ChargerConfigSource = string | ChargerProperties[] | Record; export declare function loadChargersFromConfig(source?: ChargerConfigSource, options?: ChargerFleetLoadOptions): Promise;