@citrineos/base
Version:
The base module for OCPP v2.0.1 including all interfaces. This module is not intended to be used directly, but rather as a dependency for other modules.
511 lines (510 loc) • 24.7 kB
TypeScript
import { OCPP1_6 } from '../ocpp/model/index.js';
import { OCPP_CallAction, type OCPPVersionType } from '../ocpp/rpc/message.js';
import { z } from 'zod';
export declare const oidcClientConfigSchema: z.ZodOptional<z.ZodObject<{
tokenUrl: z.ZodString;
clientId: z.ZodString;
clientSecret: z.ZodString;
audience: z.ZodString;
}, z.core.$strip>>;
export declare const OCPP_VERSION_LIST: OCPPVersionType[];
export declare const websocketServerInputSchema: z.ZodObject<{
id: z.ZodOptional<z.ZodString>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
pingInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
protocols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>>>;
securityProfile: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
allowUnknownChargingStations: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
ignoreAuthenticationHeaders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
tlsKeyFilePath: z.ZodOptional<z.ZodString>;
tlsCertificateChainFilePath: z.ZodOptional<z.ZodString>;
mtlsCertificateAuthorityKeyFilePath: z.ZodOptional<z.ZodString>;
rootCACertificateFilePath: z.ZodOptional<z.ZodString>;
tenantId: z.ZodOptional<z.ZodNumber>;
tenantPathMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
dynamicTenantResolution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
forceProtocol: z.ZodOptional<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>;
}, z.core.$strip>;
export declare const HUBJECT_DEFAULT_BASEURL = "https://open.plugncharge-test.hubject.com";
export declare const HUBJECT_DEFAULT_TOKENURL = "https://hubject.stoplight.io/api/v1/projects/cHJqOjk0NTg5/nodes/6bb8b3bc79c2e-authorization-token";
export declare const HUBJECT_DEFAULT_CLIENTID = "YOUR_CLIENT_ID";
export declare const HUBJECT_DEFAULT_CLIENTSECRET = "YOUR_CLIENT_SECRET";
export declare const systemConfigInputSchema: z.ZodObject<{
env: z.ZodEnum<{
development: "development";
production: "production";
}>;
centralSystem: z.ZodObject<{
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, z.core.$strip>;
modules: z.ZodObject<{
certificates: z.ZodOptional<z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>>;
configuration: z.ZodObject<{
heartbeatInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
bootRetryInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
ocpp2_0_1: z.ZodOptional<z.ZodObject<{
unknownChargerStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
Accepted: "Accepted";
Pending: "Pending";
Rejected: "Rejected";
}>>>;
getBaseReportOnPending: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
bootWithRejectedVariables: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
autoAccept: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>>;
ocpp2_1: z.ZodOptional<z.ZodObject<{
unknownChargerStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
Accepted: "Accepted";
Pending: "Pending";
Rejected: "Rejected";
}>>>;
getBaseReportOnPending: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
bootWithRejectedVariables: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
autoAccept: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>>;
ocpp1_6: z.ZodOptional<z.ZodObject<{
unknownChargerStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
Accepted: OCPP1_6.BootNotificationResponseStatus.Accepted;
Pending: OCPP1_6.BootNotificationResponseStatus.Pending;
Rejected: OCPP1_6.BootNotificationResponseStatus.Rejected;
}>>>;
}, z.core.$strip>>;
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, z.core.$strip>;
evdriver: z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
enableGetChargingProfilesOnStartTransaction: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
monitoring: z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>;
reporting: z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>;
smartcharging: z.ZodOptional<z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>>;
tenant: z.ZodOptional<z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
ocppRouterBaseUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
transactions: z.ZodObject<{
endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
costUpdatedInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
sendCostUpdatedOnMeterValue: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
signedMeterValuesConfiguration: z.ZodOptional<z.ZodObject<{
publicKeyFileId: z.ZodString;
signingMethod: z.ZodEnum<{
"RSASSA-PKCS1-v1_5": "RSASSA-PKCS1-v1_5";
ECDSA: "ECDSA";
SECP192R1: "SECP192R1";
}>;
rejectUnsupportedSignedMeterValues: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>>;
receiptBaseUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
}, z.core.$strip>;
util: z.ZodObject<{
cache: z.ZodObject<{
memory: z.ZodOptional<z.ZodBoolean>;
redis: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, z.core.$strip>, z.ZodObject<{
url: z.ZodURL;
}, z.core.$strip>]>>;
}, z.core.$strip>;
messageBroker: z.ZodObject<{
amqp: z.ZodOptional<z.ZodObject<{
url: z.ZodString;
exchange: z.ZodString;
instanceIdentifier: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
authProvider: z.ZodObject<{
oidc: z.ZodOptional<z.ZodObject<{
jwksUri: z.ZodString;
issuer: z.ZodString;
audience: z.ZodString;
cacheTime: z.ZodOptional<z.ZodNumber>;
rateLimit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>>;
localByPass: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
swagger: z.ZodOptional<z.ZodObject<{
path: z.ZodOptional<z.ZodDefault<z.ZodString>>;
logoPath: z.ZodString;
exposeData: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
exposeMessage: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>>;
networkConnection: z.ZodObject<{
websocketServers: z.ZodArray<z.ZodOptional<z.ZodObject<{
id: z.ZodOptional<z.ZodString>;
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
pingInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
protocols: z.ZodOptional<z.ZodDefault<z.ZodArray<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>>>;
securityProfile: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
allowUnknownChargingStations: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
ignoreAuthenticationHeaders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
tlsKeyFilePath: z.ZodOptional<z.ZodString>;
tlsCertificateChainFilePath: z.ZodOptional<z.ZodString>;
mtlsCertificateAuthorityKeyFilePath: z.ZodOptional<z.ZodString>;
rootCACertificateFilePath: z.ZodOptional<z.ZodString>;
tenantId: z.ZodOptional<z.ZodNumber>;
tenantPathMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
dynamicTenantResolution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
forceProtocol: z.ZodOptional<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>;
}, z.core.$strip>>>;
}, z.core.$strip>;
certificateAuthority: z.ZodObject<{
v2gCA: z.ZodObject<{
name: z.ZodDefault<z.ZodEnum<{
hubject: "hubject";
}>>;
hubject: z.ZodOptional<z.ZodObject<{
baseUrl: z.ZodDefault<z.ZodString>;
tokenUrl: z.ZodDefault<z.ZodString>;
clientId: z.ZodDefault<z.ZodString>;
clientSecret: z.ZodDefault<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
chargingStationCA: z.ZodObject<{
name: z.ZodDefault<z.ZodEnum<{
acme: "acme";
}>>;
acme: z.ZodOptional<z.ZodObject<{
env: z.ZodDefault<z.ZodEnum<{
production: "production";
staging: "staging";
}>>;
accountKeyFilePath: z.ZodString;
email: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
}, z.core.$strip>;
logLevel: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
maxCallLengthSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
maxCachingSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
maxReconnectDelay: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
shutdownGracePeriodSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
ocpiServer: z.ZodObject<{
host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, z.core.$strip>;
userPreferences: z.ZodObject<{
telemetryConsent: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
rbacRulesFileName: z.ZodOptional<z.ZodDefault<z.ZodString>>;
rbacRulesDir: z.ZodOptional<z.ZodString>;
realTimeAuthDefaultTimeoutSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
notReadyThresholdSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
}, z.core.$strip>;
export type SystemConfigInput = z.infer<typeof systemConfigInputSchema>;
export declare const websocketServerSchema: z.ZodObject<{
id: z.ZodString;
host: z.ZodString;
port: z.ZodNumber;
pingInterval: z.ZodNumber;
protocols: z.ZodArray<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>;
securityProfile: z.ZodNumber;
allowUnknownChargingStations: z.ZodBoolean;
ignoreAuthenticationHeaders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
tlsKeyFilePath: z.ZodOptional<z.ZodString>;
tlsCertificateChainFilePath: z.ZodOptional<z.ZodString>;
mtlsCertificateAuthorityKeyFilePath: z.ZodOptional<z.ZodString>;
rootCACertificateFilePath: z.ZodOptional<z.ZodString>;
tenantId: z.ZodOptional<z.ZodNumber>;
tenantPathMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
dynamicTenantResolution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
forceProtocol: z.ZodOptional<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>;
}, z.core.$strip>;
export declare const systemConfigSchema: z.ZodObject<{
env: z.ZodEnum<{
development: "development";
production: "production";
}>;
centralSystem: z.ZodObject<{
host: z.ZodString;
port: z.ZodNumber;
}, z.core.$strip>;
modules: z.ZodObject<{
certificates: z.ZodOptional<z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>>;
evdriver: z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
enableGetChargingProfilesOnStartTransaction: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
configuration: z.ZodObject<{
heartbeatInterval: z.ZodNumber;
bootRetryInterval: z.ZodNumber;
ocpp2_0_1: z.ZodOptional<z.ZodObject<{
unknownChargerStatus: z.ZodEnum<{
Accepted: "Accepted";
Pending: "Pending";
Rejected: "Rejected";
}>;
getBaseReportOnPending: z.ZodBoolean;
bootWithRejectedVariables: z.ZodBoolean;
autoAccept: z.ZodBoolean;
}, z.core.$strip>>;
ocpp2_1: z.ZodOptional<z.ZodObject<{
unknownChargerStatus: z.ZodEnum<{
Accepted: "Accepted";
Pending: "Pending";
Rejected: "Rejected";
}>;
getBaseReportOnPending: z.ZodBoolean;
bootWithRejectedVariables: z.ZodBoolean;
autoAccept: z.ZodBoolean;
}, z.core.$strip>>;
ocpp1_6: z.ZodOptional<z.ZodObject<{
unknownChargerStatus: z.ZodEnum<{
Accepted: OCPP1_6.BootNotificationResponseStatus.Accepted;
Pending: OCPP1_6.BootNotificationResponseStatus.Pending;
Rejected: OCPP1_6.BootNotificationResponseStatus.Rejected;
}>;
}, z.core.$strip>>;
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>;
monitoring: z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>;
reporting: z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>;
smartcharging: z.ZodOptional<z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
}, z.core.$strip>>;
tenant: z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
ocppRouterBaseUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
transactions: z.ZodObject<{
endpointPrefix: z.ZodString;
host: z.ZodOptional<z.ZodString>;
port: z.ZodOptional<z.ZodNumber>;
costUpdatedInterval: z.ZodOptional<z.ZodNumber>;
sendCostUpdatedOnMeterValue: z.ZodOptional<z.ZodBoolean>;
requests: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
responses: z.ZodArray<z.ZodEnum<typeof OCPP_CallAction>>;
signedMeterValuesConfiguration: z.ZodOptional<z.ZodObject<{
publicKeyFileId: z.ZodString;
signingMethod: z.ZodEnum<{
"RSASSA-PKCS1-v1_5": "RSASSA-PKCS1-v1_5";
ECDSA: "ECDSA";
SECP192R1: "SECP192R1";
}>;
rejectUnsupportedSignedMeterValues: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>>;
receiptBaseUrl: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
}, z.core.$strip>;
util: z.ZodObject<{
cache: z.ZodObject<{
memory: z.ZodOptional<z.ZodBoolean>;
redis: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
host: z.ZodString;
port: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
url: z.ZodURL;
}, z.core.$strip>]>>;
}, z.core.$strip>;
messageBroker: z.ZodObject<{
amqp: z.ZodOptional<z.ZodObject<{
url: z.ZodString;
exchange: z.ZodString;
instanceIdentifier: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
authProvider: z.ZodObject<{
oidc: z.ZodOptional<z.ZodObject<{
jwksUri: z.ZodString;
issuer: z.ZodString;
audience: z.ZodString;
cacheTime: z.ZodOptional<z.ZodNumber>;
rateLimit: z.ZodBoolean;
}, z.core.$strip>>;
localByPass: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, z.core.$strip>;
swagger: z.ZodOptional<z.ZodObject<{
path: z.ZodString;
logoPath: z.ZodString;
exposeData: z.ZodBoolean;
exposeMessage: z.ZodBoolean;
}, z.core.$strip>>;
networkConnection: z.ZodObject<{
websocketServers: z.ZodArray<z.ZodObject<{
id: z.ZodString;
host: z.ZodString;
port: z.ZodNumber;
pingInterval: z.ZodNumber;
protocols: z.ZodArray<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>;
securityProfile: z.ZodNumber;
allowUnknownChargingStations: z.ZodBoolean;
ignoreAuthenticationHeaders: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
tlsKeyFilePath: z.ZodOptional<z.ZodString>;
tlsCertificateChainFilePath: z.ZodOptional<z.ZodString>;
mtlsCertificateAuthorityKeyFilePath: z.ZodOptional<z.ZodString>;
rootCACertificateFilePath: z.ZodOptional<z.ZodString>;
tenantId: z.ZodOptional<z.ZodNumber>;
tenantPathMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
dynamicTenantResolution: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
forceProtocol: z.ZodOptional<z.ZodEnum<{
"ocpp1.6": "ocpp1.6";
"ocpp2.0.1": "ocpp2.0.1";
"ocpp2.1": "ocpp2.1";
}>>;
}, z.core.$strip>>;
}, z.core.$strip>;
certificateAuthority: z.ZodObject<{
v2gCA: z.ZodObject<{
name: z.ZodEnum<{
hubject: "hubject";
}>;
hubject: z.ZodOptional<z.ZodObject<{
baseUrl: z.ZodString;
tokenUrl: z.ZodString;
clientId: z.ZodString;
clientSecret: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
chargingStationCA: z.ZodObject<{
name: z.ZodEnum<{
acme: "acme";
}>;
acme: z.ZodOptional<z.ZodObject<{
env: z.ZodEnum<{
production: "production";
staging: "staging";
}>;
accountKeyFilePath: z.ZodString;
email: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
}, z.core.$strip>;
logLevel: z.ZodNumber;
maxCallLengthSeconds: z.ZodNumber;
maxCachingSeconds: z.ZodNumber;
maxReconnectDelay: z.ZodDefault<z.ZodNumber>;
shutdownGracePeriodSeconds: z.ZodDefault<z.ZodNumber>;
ocpiServer: z.ZodObject<{
host: z.ZodString;
port: z.ZodNumber;
}, z.core.$strip>;
userPreferences: z.ZodObject<{
telemetryConsent: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
rbacRulesFileName: z.ZodOptional<z.ZodString>;
rbacRulesDir: z.ZodOptional<z.ZodString>;
oidcClient: z.ZodOptional<z.ZodObject<{
tokenUrl: z.ZodString;
clientId: z.ZodString;
clientSecret: z.ZodString;
audience: z.ZodString;
}, z.core.$strip>>;
realTimeAuthDefaultTimeoutSeconds: z.ZodDefault<z.ZodNumber>;
notReadyThresholdSeconds: z.ZodDefault<z.ZodNumber>;
}, z.core.$strip>;
export declare const HttpMethodSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>;
export declare const UrlPatternSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
export declare const TenantSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
export declare const RbacRulesSchema: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>>;
export type RbacRules = z.infer<typeof RbacRulesSchema>;
export type WebsocketServerConfig = z.infer<typeof websocketServerSchema>;
export type SystemConfig = z.infer<typeof systemConfigSchema>;