import { z } from 'zod';
import { OCPP2_0_1, OCPP1_6 } from '../ocpp/model';
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>>;
    protocol: z.ZodOptional<z.ZodDefault<z.ZodEnum<["ocpp1.6", "ocpp2.0.1"]>>>;
    securityProfile: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    allowUnknownChargingStations: 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>;
}, "strip", z.ZodTypeAny, {
    id?: string | undefined;
    host?: string | undefined;
    port?: number | undefined;
    pingInterval?: number | undefined;
    protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
    securityProfile?: number | undefined;
    allowUnknownChargingStations?: boolean | undefined;
    tlsKeyFilePath?: string | undefined;
    tlsCertificateChainFilePath?: string | undefined;
    mtlsCertificateAuthorityKeyFilePath?: string | undefined;
    rootCACertificateFilePath?: string | undefined;
}, {
    id?: string | undefined;
    host?: string | undefined;
    port?: number | undefined;
    pingInterval?: number | undefined;
    protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
    securityProfile?: number | undefined;
    allowUnknownChargingStations?: boolean | undefined;
    tlsKeyFilePath?: string | undefined;
    tlsCertificateChainFilePath?: string | undefined;
    mtlsCertificateAuthorityKeyFilePath?: string | undefined;
    rootCACertificateFilePath?: string | undefined;
}>;
export declare const systemConfigInputSchema: z.ZodObject<{
    env: z.ZodEnum<["development", "production"]>;
    centralSystem: z.ZodObject<{
        host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
        port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        host?: string | undefined;
        port?: number | undefined;
    }, {
        host?: string | undefined;
        port?: number | undefined;
    }>;
    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>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>>;
        configuration: z.ZodObject<{
            heartbeatInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
            bootRetryInterval: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
            ocpp2_0_1: z.ZodOptional<z.ZodObject<{
                unknownChargerStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<[OCPP2_0_1.RegistrationStatusEnumType.Accepted, OCPP2_0_1.RegistrationStatusEnumType.Pending, OCPP2_0_1.RegistrationStatusEnumType.Rejected]>>>;
                getBaseReportOnPending: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
                bootWithRejectedVariables: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
                autoAccept: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            }, "strip", z.ZodTypeAny, {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            }, {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            }>>;
            ocpp1_6: z.ZodOptional<z.ZodObject<{
                unknownChargerStatus: z.ZodOptional<z.ZodDefault<z.ZodEnum<[OCPP1_6.BootNotificationResponseStatus.Accepted, OCPP1_6.BootNotificationResponseStatus.Pending, OCPP1_6.BootNotificationResponseStatus.Rejected]>>>;
            }, "strip", z.ZodTypeAny, {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            }, {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            }>>;
            endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            heartbeatInterval?: number | undefined;
            bootRetryInterval?: number | undefined;
            ocpp2_0_1?: {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            } | undefined;
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            heartbeatInterval?: number | undefined;
            bootRetryInterval?: number | undefined;
            ocpp2_0_1?: {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            } | undefined;
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        evdriver: z.ZodObject<{
            endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        monitoring: z.ZodObject<{
            endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        reporting: z.ZodObject<{
            endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        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>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>>;
        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>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>>;
        transactions: z.ZodObject<{
            endpointPrefix: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            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", "ECDSA"]>;
            }, "strip", z.ZodTypeAny, {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            }, {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        }, {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        configuration: {
            heartbeatInterval?: number | undefined;
            bootRetryInterval?: number | undefined;
            ocpp2_0_1?: {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            } | undefined;
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        tenant?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    }, {
        configuration: {
            heartbeatInterval?: number | undefined;
            bootRetryInterval?: number | undefined;
            ocpp2_0_1?: {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            } | undefined;
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        tenant?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    }>;
    data: z.ZodObject<{
        sequelize: z.ZodObject<{
            host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
            database: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            dialect: z.ZodOptional<z.ZodDefault<z.ZodAny>>;
            username: z.ZodOptional<z.ZodString>;
            password: z.ZodOptional<z.ZodString>;
            storage: z.ZodOptional<z.ZodDefault<z.ZodString>>;
            sync: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            alter: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
        }, "strip", z.ZodTypeAny, {
            host?: string | undefined;
            port?: number | undefined;
            database?: string | undefined;
            dialect?: any;
            username?: string | undefined;
            password?: string | undefined;
            storage?: string | undefined;
            sync?: boolean | undefined;
            alter?: boolean | undefined;
        }, {
            host?: string | undefined;
            port?: number | undefined;
            database?: string | undefined;
            dialect?: any;
            username?: string | undefined;
            password?: string | undefined;
            storage?: string | undefined;
            sync?: boolean | undefined;
            alter?: boolean | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        sequelize: {
            host?: string | undefined;
            port?: number | undefined;
            database?: string | undefined;
            dialect?: any;
            username?: string | undefined;
            password?: string | undefined;
            storage?: string | undefined;
            sync?: boolean | undefined;
            alter?: boolean | undefined;
        };
    }, {
        sequelize: {
            host?: string | undefined;
            port?: number | undefined;
            database?: string | undefined;
            dialect?: any;
            username?: string | undefined;
            password?: string | undefined;
            storage?: string | undefined;
            sync?: boolean | undefined;
            alter?: boolean | undefined;
        };
    }>;
    util: z.ZodObject<{
        cache: z.ZodEffects<z.ZodObject<{
            memory: z.ZodOptional<z.ZodBoolean>;
            redis: z.ZodOptional<z.ZodObject<{
                host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
                port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
            }, "strip", z.ZodTypeAny, {
                host?: string | undefined;
                port?: number | undefined;
            }, {
                host?: string | undefined;
                port?: number | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        }, {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        }>, {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        }, {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        }>;
        messageBroker: z.ZodEffects<z.ZodObject<{
            kafka: z.ZodOptional<z.ZodObject<{
                topicPrefix: z.ZodOptional<z.ZodString>;
                topicName: z.ZodOptional<z.ZodString>;
                brokers: z.ZodArray<z.ZodString, "many">;
                sasl: z.ZodObject<{
                    mechanism: z.ZodString;
                    username: z.ZodString;
                    password: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    password: string;
                    username: string;
                    mechanism: string;
                }, {
                    password: string;
                    username: string;
                    mechanism: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            }, {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            }>>;
            amqp: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                exchange: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
                exchange: string;
            }, {
                url: string;
                exchange: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }>, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }>;
        fileAccess: z.ZodEffects<z.ZodEffects<z.ZodObject<{
            s3: z.ZodOptional<z.ZodObject<{
                region: z.ZodOptional<z.ZodString>;
                endpoint: z.ZodOptional<z.ZodString>;
                defaultBucketName: z.ZodDefault<z.ZodString>;
                s3ForcePathStyle: z.ZodDefault<z.ZodBoolean>;
                accessKeyId: z.ZodOptional<z.ZodString>;
                secretAccessKey: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            }, {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            }>>;
            local: z.ZodOptional<z.ZodObject<{
                defaultFilePath: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                defaultFilePath: string;
            }, {
                defaultFilePath?: string | undefined;
            }>>;
            directus: z.ZodOptional<z.ZodEffects<z.ZodObject<{
                host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
                port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
                token: z.ZodOptional<z.ZodString>;
                username: z.ZodOptional<z.ZodString>;
                password: z.ZodOptional<z.ZodString>;
                generateFlows: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
            }, "strip", z.ZodTypeAny, {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            }, {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            }>, {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            }, {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        }, {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        }>, {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        }, {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        }>, {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        }, {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        }>;
        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>>;
        }, "strip", z.ZodTypeAny, {
            logoPath: string;
            path?: string | undefined;
            exposeData?: boolean | undefined;
            exposeMessage?: boolean | undefined;
        }, {
            logoPath: string;
            path?: string | undefined;
            exposeData?: boolean | undefined;
            exposeMessage?: boolean | undefined;
        }>>;
        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>>;
                protocol: z.ZodOptional<z.ZodDefault<z.ZodEnum<["ocpp1.6", "ocpp2.0.1"]>>>;
                securityProfile: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
                allowUnknownChargingStations: 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>;
            }, "strip", z.ZodTypeAny, {
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }, {
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }>>, "many">;
        }, "strip", z.ZodTypeAny, {
            websocketServers: ({
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            } | undefined)[];
        }, {
            websocketServers: ({
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            } | undefined)[];
        }>;
        certificateAuthority: z.ZodObject<{
            v2gCA: z.ZodEffects<z.ZodObject<{
                name: z.ZodDefault<z.ZodEnum<["hubject"]>>;
                hubject: z.ZodOptional<z.ZodObject<{
                    baseUrl: z.ZodDefault<z.ZodString>;
                    tokenUrl: z.ZodDefault<z.ZodString>;
                    isoVersion: z.ZodDefault<z.ZodEnum<["ISO15118-2", "ISO15118-20"]>>;
                }, "strip", z.ZodTypeAny, {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                }, {
                    baseUrl?: string | undefined;
                    tokenUrl?: string | undefined;
                    isoVersion?: "ISO15118-2" | "ISO15118-20" | undefined;
                }>>;
            }, "strip", z.ZodTypeAny, {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            }, {
                name?: "hubject" | undefined;
                hubject?: {
                    baseUrl?: string | undefined;
                    tokenUrl?: string | undefined;
                    isoVersion?: "ISO15118-2" | "ISO15118-20" | undefined;
                } | undefined;
            }>, {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            }, {
                name?: "hubject" | undefined;
                hubject?: {
                    baseUrl?: string | undefined;
                    tokenUrl?: string | undefined;
                    isoVersion?: "ISO15118-2" | "ISO15118-20" | undefined;
                } | undefined;
            }>;
            chargingStationCA: z.ZodEffects<z.ZodObject<{
                name: z.ZodDefault<z.ZodEnum<["acme"]>>;
                acme: z.ZodOptional<z.ZodObject<{
                    env: z.ZodDefault<z.ZodEnum<["staging", "production"]>>;
                    accountKeyFilePath: z.ZodString;
                    email: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                }, {
                    accountKeyFilePath: string;
                    email: string;
                    env?: "production" | "staging" | undefined;
                }>>;
            }, "strip", z.ZodTypeAny, {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            }, {
                name?: "acme" | undefined;
                acme?: {
                    accountKeyFilePath: string;
                    email: string;
                    env?: "production" | "staging" | undefined;
                } | undefined;
            }>, {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            }, {
                name?: "acme" | undefined;
                acme?: {
                    accountKeyFilePath: string;
                    email: string;
                    env?: "production" | "staging" | undefined;
                } | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        }, {
            v2gCA: {
                name?: "hubject" | undefined;
                hubject?: {
                    baseUrl?: string | undefined;
                    tokenUrl?: string | undefined;
                    isoVersion?: "ISO15118-2" | "ISO15118-20" | undefined;
                } | undefined;
            };
            chargingStationCA: {
                name?: "acme" | undefined;
                acme?: {
                    accountKeyFilePath: string;
                    email: string;
                    env?: "production" | "staging" | undefined;
                } | undefined;
            };
        }>;
    }, "strip", z.ZodTypeAny, {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: ({
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            } | undefined)[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            logoPath: string;
            path?: string | undefined;
            exposeData?: boolean | undefined;
            exposeMessage?: boolean | undefined;
        } | undefined;
    }, {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: ({
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            } | undefined)[];
        };
        certificateAuthority: {
            v2gCA: {
                name?: "hubject" | undefined;
                hubject?: {
                    baseUrl?: string | undefined;
                    tokenUrl?: string | undefined;
                    isoVersion?: "ISO15118-2" | "ISO15118-20" | undefined;
                } | undefined;
            };
            chargingStationCA: {
                name?: "acme" | undefined;
                acme?: {
                    accountKeyFilePath: string;
                    email: string;
                    env?: "production" | "staging" | undefined;
                } | undefined;
            };
        };
        swagger?: {
            logoPath: string;
            path?: string | undefined;
            exposeData?: boolean | undefined;
            exposeMessage?: boolean | undefined;
        } | undefined;
    }>;
    logLevel: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    maxCallLengthSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    maxCachingSeconds: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    ocpiServer: z.ZodObject<{
        host: z.ZodOptional<z.ZodDefault<z.ZodString>>;
        port: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        host?: string | undefined;
        port?: number | undefined;
    }, {
        host?: string | undefined;
        port?: number | undefined;
    }>;
    userPreferences: z.ZodObject<{
        telemetryConsent: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
    }, "strip", z.ZodTypeAny, {
        telemetryConsent?: boolean | undefined;
    }, {
        telemetryConsent?: boolean | undefined;
    }>;
    configFileName: z.ZodOptional<z.ZodDefault<z.ZodString>>;
    configDir: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    data: {
        sequelize: {
            host?: string | undefined;
            port?: number | undefined;
            database?: string | undefined;
            dialect?: any;
            username?: string | undefined;
            password?: string | undefined;
            storage?: string | undefined;
            sync?: boolean | undefined;
            alter?: boolean | undefined;
        };
    };
    env: "development" | "production";
    centralSystem: {
        host?: string | undefined;
        port?: number | undefined;
    };
    modules: {
        configuration: {
            heartbeatInterval?: number | undefined;
            bootRetryInterval?: number | undefined;
            ocpp2_0_1?: {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            } | undefined;
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        tenant?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    };
    util: {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: ({
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            } | undefined)[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            logoPath: string;
            path?: string | undefined;
            exposeData?: boolean | undefined;
            exposeMessage?: boolean | undefined;
        } | undefined;
    };
    ocpiServer: {
        host?: string | undefined;
        port?: number | undefined;
    };
    userPreferences: {
        telemetryConsent?: boolean | undefined;
    };
    logLevel?: number | undefined;
    maxCallLengthSeconds?: number | undefined;
    maxCachingSeconds?: number | undefined;
    configFileName?: string | undefined;
    configDir?: string | undefined;
}, {
    data: {
        sequelize: {
            host?: string | undefined;
            port?: number | undefined;
            database?: string | undefined;
            dialect?: any;
            username?: string | undefined;
            password?: string | undefined;
            storage?: string | undefined;
            sync?: boolean | undefined;
            alter?: boolean | undefined;
        };
    };
    env: "development" | "production";
    centralSystem: {
        host?: string | undefined;
        port?: number | undefined;
    };
    modules: {
        configuration: {
            heartbeatInterval?: number | undefined;
            bootRetryInterval?: number | undefined;
            ocpp2_0_1?: {
                unknownChargerStatus?: OCPP2_0_1.RegistrationStatusEnumType | undefined;
                getBaseReportOnPending?: boolean | undefined;
                bootWithRejectedVariables?: boolean | undefined;
                autoAccept?: boolean | undefined;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus?: OCPP1_6.BootNotificationResponseStatus | undefined;
            } | undefined;
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        tenant?: {
            endpointPrefix?: string | undefined;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    };
    util: {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host?: string | undefined;
                port?: number | undefined;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host?: string | undefined;
                port?: number | undefined;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
                generateFlows?: boolean | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: ({
                id?: string | undefined;
                host?: string | undefined;
                port?: number | undefined;
                pingInterval?: number | undefined;
                protocol?: "ocpp1.6" | "ocpp2.0.1" | undefined;
                securityProfile?: number | undefined;
                allowUnknownChargingStations?: boolean | undefined;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            } | undefined)[];
        };
        certificateAuthority: {
            v2gCA: {
                name?: "hubject" | undefined;
                hubject?: {
                    baseUrl?: string | undefined;
                    tokenUrl?: string | undefined;
                    isoVersion?: "ISO15118-2" | "ISO15118-20" | undefined;
                } | undefined;
            };
            chargingStationCA: {
                name?: "acme" | undefined;
                acme?: {
                    accountKeyFilePath: string;
                    email: string;
                    env?: "production" | "staging" | undefined;
                } | undefined;
            };
        };
        swagger?: {
            logoPath: string;
            path?: string | undefined;
            exposeData?: boolean | undefined;
            exposeMessage?: boolean | undefined;
        } | undefined;
    };
    ocpiServer: {
        host?: string | undefined;
        port?: number | undefined;
    };
    userPreferences: {
        telemetryConsent?: boolean | undefined;
    };
    logLevel?: number | undefined;
    maxCallLengthSeconds?: number | undefined;
    maxCachingSeconds?: number | undefined;
    configFileName?: string | undefined;
    configDir?: string | undefined;
}>;
export type SystemConfigInput = z.infer<typeof systemConfigInputSchema>;
export declare const websocketServerSchema: z.ZodEffects<z.ZodObject<{
    id: z.ZodString;
    host: z.ZodString;
    port: z.ZodNumber;
    pingInterval: z.ZodNumber;
    protocol: z.ZodEnum<["ocpp1.6", "ocpp2.0.1"]>;
    securityProfile: z.ZodNumber;
    allowUnknownChargingStations: z.ZodBoolean;
    tlsKeyFilePath: z.ZodOptional<z.ZodString>;
    tlsCertificateChainFilePath: z.ZodOptional<z.ZodString>;
    mtlsCertificateAuthorityKeyFilePath: z.ZodOptional<z.ZodString>;
    rootCACertificateFilePath: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    id: string;
    securityProfile: number;
    host: string;
    port: number;
    pingInterval: number;
    protocol: "ocpp1.6" | "ocpp2.0.1";
    allowUnknownChargingStations: boolean;
    tlsKeyFilePath?: string | undefined;
    tlsCertificateChainFilePath?: string | undefined;
    mtlsCertificateAuthorityKeyFilePath?: string | undefined;
    rootCACertificateFilePath?: string | undefined;
}, {
    id: string;
    securityProfile: number;
    host: string;
    port: number;
    pingInterval: number;
    protocol: "ocpp1.6" | "ocpp2.0.1";
    allowUnknownChargingStations: boolean;
    tlsKeyFilePath?: string | undefined;
    tlsCertificateChainFilePath?: string | undefined;
    mtlsCertificateAuthorityKeyFilePath?: string | undefined;
    rootCACertificateFilePath?: string | undefined;
}>, {
    id: string;
    securityProfile: number;
    host: string;
    port: number;
    pingInterval: number;
    protocol: "ocpp1.6" | "ocpp2.0.1";
    allowUnknownChargingStations: boolean;
    tlsKeyFilePath?: string | undefined;
    tlsCertificateChainFilePath?: string | undefined;
    mtlsCertificateAuthorityKeyFilePath?: string | undefined;
    rootCACertificateFilePath?: string | undefined;
}, {
    id: string;
    securityProfile: number;
    host: string;
    port: number;
    pingInterval: number;
    protocol: "ocpp1.6" | "ocpp2.0.1";
    allowUnknownChargingStations: boolean;
    tlsKeyFilePath?: string | undefined;
    tlsCertificateChainFilePath?: string | undefined;
    mtlsCertificateAuthorityKeyFilePath?: string | undefined;
    rootCACertificateFilePath?: string | undefined;
}>;
export declare const systemConfigSchema: z.ZodEffects<z.ZodObject<{
    env: z.ZodEnum<["development", "production"]>;
    centralSystem: z.ZodObject<{
        host: z.ZodString;
        port: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        host: string;
        port: number;
    }, {
        host: string;
        port: number;
    }>;
    modules: z.ZodObject<{
        certificates: z.ZodOptional<z.ZodObject<{
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }>>;
        evdriver: z.ZodObject<{
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        configuration: z.ZodEffects<z.ZodObject<{
            heartbeatInterval: z.ZodNumber;
            bootRetryInterval: z.ZodNumber;
            ocpp2_0_1: z.ZodOptional<z.ZodObject<{
                unknownChargerStatus: z.ZodEnum<[OCPP2_0_1.RegistrationStatusEnumType.Accepted, OCPP2_0_1.RegistrationStatusEnumType.Pending, OCPP2_0_1.RegistrationStatusEnumType.Rejected]>;
                getBaseReportOnPending: z.ZodBoolean;
                bootWithRejectedVariables: z.ZodBoolean;
                /**
                 * If false, only data endpoint can update boot status to accepted
                 */
                autoAccept: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            }, {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            }>>;
            ocpp1_6: z.ZodOptional<z.ZodObject<{
                unknownChargerStatus: z.ZodEnum<[OCPP1_6.BootNotificationResponseStatus.Accepted, OCPP1_6.BootNotificationResponseStatus.Pending, OCPP1_6.BootNotificationResponseStatus.Rejected]>;
            }, "strip", z.ZodTypeAny, {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            }, {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            }>>;
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>, {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        monitoring: z.ZodObject<{
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        reporting: z.ZodObject<{
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        smartcharging: z.ZodOptional<z.ZodObject<{
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }>>;
        tenant: z.ZodObject<{
            endpointPrefix: z.ZodString;
            host: z.ZodOptional<z.ZodString>;
            port: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        }>;
        transactions: z.ZodEffects<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>;
            signedMeterValuesConfiguration: z.ZodOptional<z.ZodObject<{
                publicKeyFileId: z.ZodString;
                signingMethod: z.ZodEnum<["RSASSA-PKCS1-v1_5", "ECDSA"]>;
            }, "strip", z.ZodTypeAny, {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            }, {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        }>, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        }, {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        configuration: {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        tenant: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    }, {
        configuration: {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        tenant: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    }>;
    data: z.ZodObject<{
        sequelize: z.ZodObject<{
            host: z.ZodString;
            port: z.ZodNumber;
            database: z.ZodString;
            dialect: z.ZodAny;
            username: z.ZodString;
            password: z.ZodString;
            storage: z.ZodString;
            sync: z.ZodBoolean;
            alter: z.ZodOptional<z.ZodBoolean>;
            maxRetries: z.ZodOptional<z.ZodNumber>;
            retryDelay: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        }, {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        sequelize: {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        };
    }, {
        sequelize: {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        };
    }>;
    util: z.ZodObject<{
        cache: z.ZodEffects<z.ZodObject<{
            memory: z.ZodOptional<z.ZodBoolean>;
            redis: z.ZodOptional<z.ZodObject<{
                host: z.ZodString;
                port: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                host: string;
                port: number;
            }, {
                host: string;
                port: number;
            }>>;
        }, "strip", z.ZodTypeAny, {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        }, {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        }>, {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        }, {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        }>;
        messageBroker: z.ZodEffects<z.ZodObject<{
            kafka: z.ZodOptional<z.ZodObject<{
                topicPrefix: z.ZodOptional<z.ZodString>;
                topicName: z.ZodOptional<z.ZodString>;
                brokers: z.ZodArray<z.ZodString, "many">;
                sasl: z.ZodObject<{
                    mechanism: z.ZodString;
                    username: z.ZodString;
                    password: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    password: string;
                    username: string;
                    mechanism: string;
                }, {
                    password: string;
                    username: string;
                    mechanism: string;
                }>;
            }, "strip", z.ZodTypeAny, {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            }, {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            }>>;
            amqp: z.ZodOptional<z.ZodObject<{
                url: z.ZodString;
                exchange: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                url: string;
                exchange: string;
            }, {
                url: string;
                exchange: string;
            }>>;
        }, "strip", z.ZodTypeAny, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }>, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }, {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        }>;
        fileAccess: z.ZodEffects<z.ZodEffects<z.ZodObject<{
            s3: z.ZodOptional<z.ZodObject<{
                region: z.ZodOptional<z.ZodString>;
                endpoint: z.ZodOptional<z.ZodString>;
                defaultBucketName: z.ZodDefault<z.ZodString>;
                s3ForcePathStyle: z.ZodDefault<z.ZodBoolean>;
                accessKeyId: z.ZodOptional<z.ZodString>;
                secretAccessKey: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            }, {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            }>>;
            local: z.ZodOptional<z.ZodObject<{
                defaultFilePath: z.ZodDefault<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                defaultFilePath: string;
            }, {
                defaultFilePath?: string | undefined;
            }>>;
            directus: z.ZodOptional<z.ZodObject<{
                host: z.ZodString;
                port: z.ZodNumber;
                token: z.ZodOptional<z.ZodString>;
                username: z.ZodOptional<z.ZodString>;
                password: z.ZodOptional<z.ZodString>;
                generateFlows: z.ZodBoolean;
            }, "strip", z.ZodTypeAny, {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            }, {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            }>>;
        }, "strip", z.ZodTypeAny, {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        }, {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        }>, {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        }, {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        }>, {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        }, {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        }>;
        swagger: z.ZodOptional<z.ZodObject<{
            path: z.ZodString;
            logoPath: z.ZodString;
            exposeData: z.ZodBoolean;
            exposeMessage: z.ZodBoolean;
        }, "strip", z.ZodTypeAny, {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        }, {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        }>>;
        networkConnection: z.ZodObject<{
            websocketServers: z.ZodEffects<z.ZodArray<z.ZodEffects<z.ZodObject<{
                id: z.ZodString;
                host: z.ZodString;
                port: z.ZodNumber;
                pingInterval: z.ZodNumber;
                protocol: z.ZodEnum<["ocpp1.6", "ocpp2.0.1"]>;
                securityProfile: z.ZodNumber;
                allowUnknownChargingStations: z.ZodBoolean;
                tlsKeyFilePath: z.ZodOptional<z.ZodString>;
                tlsCertificateChainFilePath: z.ZodOptional<z.ZodString>;
                mtlsCertificateAuthorityKeyFilePath: z.ZodOptional<z.ZodString>;
                rootCACertificateFilePath: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }, {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }>, {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }, {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }>, "many">, {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[], {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[]>;
        }, "strip", z.ZodTypeAny, {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        }, {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        }>;
        certificateAuthority: z.ZodObject<{
            v2gCA: z.ZodEffects<z.ZodObject<{
                name: z.ZodEnum<["hubject"]>;
                hubject: z.ZodOptional<z.ZodObject<{
                    baseUrl: z.ZodString;
                    tokenUrl: z.ZodString;
                    isoVersion: z.ZodEnum<["ISO15118-2", "ISO15118-20"]>;
                }, "strip", z.ZodTypeAny, {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                }, {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                }>>;
            }, "strip", z.ZodTypeAny, {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            }, {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            }>, {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            }, {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            }>;
            chargingStationCA: z.ZodEffects<z.ZodObject<{
                name: z.ZodEnum<["acme"]>;
                acme: z.ZodOptional<z.ZodObject<{
                    env: z.ZodEnum<["staging", "production"]>;
                    accountKeyFilePath: z.ZodString;
                    email: z.ZodString;
                }, "strip", z.ZodTypeAny, {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                }, {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                }>>;
            }, "strip", z.ZodTypeAny, {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            }, {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            }>, {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            }, {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        }, {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        }>;
    }, "strip", z.ZodTypeAny, {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        } | undefined;
    }, {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        } | undefined;
    }>;
    logLevel: z.ZodNumber;
    maxCallLengthSeconds: z.ZodNumber;
    maxCachingSeconds: z.ZodNumber;
    ocpiServer: z.ZodObject<{
        host: z.ZodString;
        port: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        host: string;
        port: number;
    }, {
        host: string;
        port: number;
    }>;
    userPreferences: z.ZodObject<{
        telemetryConsent: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        telemetryConsent?: boolean | undefined;
    }, {
        telemetryConsent?: boolean | undefined;
    }>;
    configFileName: z.ZodDefault<z.ZodString>;
    configDir: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    data: {
        sequelize: {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        };
    };
    env: "development" | "production";
    centralSystem: {
        host: string;
        port: number;
    };
    modules: {
        configuration: {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        tenant: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    };
    util: {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        } | undefined;
    };
    logLevel: number;
    maxCallLengthSeconds: number;
    maxCachingSeconds: number;
    ocpiServer: {
        host: string;
        port: number;
    };
    userPreferences: {
        telemetryConsent?: boolean | undefined;
    };
    configFileName: string;
    configDir?: string | undefined;
}, {
    data: {
        sequelize: {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        };
    };
    env: "development" | "production";
    centralSystem: {
        host: string;
        port: number;
    };
    modules: {
        configuration: {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        tenant: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    };
    util: {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        } | undefined;
    };
    logLevel: number;
    maxCallLengthSeconds: number;
    maxCachingSeconds: number;
    ocpiServer: {
        host: string;
        port: number;
    };
    userPreferences: {
        telemetryConsent?: boolean | undefined;
    };
    configFileName?: string | undefined;
    configDir?: string | undefined;
}>, {
    data: {
        sequelize: {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        };
    };
    env: "development" | "production";
    centralSystem: {
        host: string;
        port: number;
    };
    modules: {
        configuration: {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        tenant: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    };
    util: {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                defaultBucketName: string;
                s3ForcePathStyle: boolean;
                region?: string | undefined;
                endpoint?: string | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath: string;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        } | undefined;
    };
    logLevel: number;
    maxCallLengthSeconds: number;
    maxCachingSeconds: number;
    ocpiServer: {
        host: string;
        port: number;
    };
    userPreferences: {
        telemetryConsent?: boolean | undefined;
    };
    configFileName: string;
    configDir?: string | undefined;
}, {
    data: {
        sequelize: {
            password: string;
            host: string;
            port: number;
            database: string;
            username: string;
            storage: string;
            sync: boolean;
            dialect?: any;
            alter?: boolean | undefined;
            maxRetries?: number | undefined;
            retryDelay?: number | undefined;
        };
    };
    env: "development" | "production";
    centralSystem: {
        host: string;
        port: number;
    };
    modules: {
        configuration: {
            endpointPrefix: string;
            heartbeatInterval: number;
            bootRetryInterval: number;
            ocpp2_0_1?: {
                unknownChargerStatus: OCPP2_0_1.RegistrationStatusEnumType;
                getBaseReportOnPending: boolean;
                bootWithRejectedVariables: boolean;
                autoAccept: boolean;
            } | undefined;
            ocpp1_6?: {
                unknownChargerStatus: OCPP1_6.BootNotificationResponseStatus;
            } | undefined;
            host?: string | undefined;
            port?: number | undefined;
        };
        evdriver: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        monitoring: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        reporting: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        tenant: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        };
        transactions: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
            costUpdatedInterval?: number | undefined;
            sendCostUpdatedOnMeterValue?: boolean | undefined;
            signedMeterValuesConfiguration?: {
                signingMethod: "RSASSA-PKCS1-v1_5" | "ECDSA";
                publicKeyFileId: string;
            } | undefined;
        };
        certificates?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
        smartcharging?: {
            endpointPrefix: string;
            host?: string | undefined;
            port?: number | undefined;
        } | undefined;
    };
    util: {
        cache: {
            memory?: boolean | undefined;
            redis?: {
                host: string;
                port: number;
            } | undefined;
        };
        messageBroker: {
            kafka?: {
                brokers: string[];
                sasl: {
                    password: string;
                    username: string;
                    mechanism: string;
                };
                topicPrefix?: string | undefined;
                topicName?: string | undefined;
            } | undefined;
            amqp?: {
                url: string;
                exchange: string;
            } | undefined;
        };
        fileAccess: {
            s3?: {
                region?: string | undefined;
                endpoint?: string | undefined;
                defaultBucketName?: string | undefined;
                s3ForcePathStyle?: boolean | undefined;
                accessKeyId?: string | undefined;
                secretAccessKey?: string | undefined;
            } | undefined;
            local?: {
                defaultFilePath?: string | undefined;
            } | undefined;
            directus?: {
                host: string;
                port: number;
                generateFlows: boolean;
                token?: string | undefined;
                username?: string | undefined;
                password?: string | undefined;
            } | undefined;
        };
        networkConnection: {
            websocketServers: {
                id: string;
                securityProfile: number;
                host: string;
                port: number;
                pingInterval: number;
                protocol: "ocpp1.6" | "ocpp2.0.1";
                allowUnknownChargingStations: boolean;
                tlsKeyFilePath?: string | undefined;
                tlsCertificateChainFilePath?: string | undefined;
                mtlsCertificateAuthorityKeyFilePath?: string | undefined;
                rootCACertificateFilePath?: string | undefined;
            }[];
        };
        certificateAuthority: {
            v2gCA: {
                name: "hubject";
                hubject?: {
                    baseUrl: string;
                    tokenUrl: string;
                    isoVersion: "ISO15118-2" | "ISO15118-20";
                } | undefined;
            };
            chargingStationCA: {
                name: "acme";
                acme?: {
                    env: "production" | "staging";
                    accountKeyFilePath: string;
                    email: string;
                } | undefined;
            };
        };
        swagger?: {
            path: string;
            logoPath: string;
            exposeData: boolean;
            exposeMessage: boolean;
        } | undefined;
    };
    logLevel: number;
    maxCallLengthSeconds: number;
    maxCachingSeconds: number;
    ocpiServer: {
        host: string;
        port: number;
    };
    userPreferences: {
        telemetryConsent?: boolean | undefined;
    };
    configFileName?: string | undefined;
    configDir?: string | undefined;
}>;
export type WebsocketServerConfig = z.infer<typeof websocketServerSchema>;
export type SystemConfig = z.infer<typeof systemConfigSchema>;
