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