import { z } from 'zod';
export declare const SubscriptionSchema: z.ZodObject<{
    tenantId: z.ZodOptional<z.ZodNumber>;
    tenant: z.ZodOptional<z.ZodObject<{
        id: z.ZodOptional<z.ZodNumber>;
        name: z.ZodString;
        url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        countryCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        partyId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        serverProfileOCPI: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            credentialsRole: z.ZodObject<{
                role: z.ZodEnum<{
                    CPO: "CPO";
                    EMSP: "EMSP";
                    HUB: "HUB";
                    NAP: "NAP";
                    NSP: "NSP";
                    SCSP: "SCSP";
                }>;
                businessDetails: z.ZodObject<{
                    name: z.ZodString;
                    website: z.ZodOptional<z.ZodString>;
                    logo: z.ZodOptional<z.ZodObject<{
                        url: z.ZodString;
                        type: z.ZodString;
                        category: z.ZodString;
                        width: z.ZodOptional<z.ZodNumber>;
                        height: z.ZodOptional<z.ZodNumber>;
                    }, z.core.$strip>>;
                }, z.core.$strip>;
            }, z.core.$strip>;
            versionDetails: z.ZodArray<z.ZodObject<{
                version: z.ZodEnum<{
                    "2.2.1": "2.2.1";
                }>;
                versionDetailsUrl: z.ZodOptional<z.ZodString>;
            }, z.core.$strip>>;
            versionEndpoints: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
                identifier: z.ZodString;
                url: z.ZodString;
            }, z.core.$strip>>>;
        }, z.core.$strip>>>;
        isUserTenant: z.ZodDefault<z.ZodBoolean>;
        maxChargingStations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        updatedAt: z.ZodOptional<z.ZodDate>;
        createdAt: z.ZodOptional<z.ZodDate>;
    }, z.core.$strip>>;
    updatedAt: z.ZodOptional<z.ZodDate>;
    createdAt: z.ZodOptional<z.ZodDate>;
    id: z.ZodOptional<z.ZodNumber>;
    ocppConnectionName: z.ZodString;
    onConnect: z.ZodDefault<z.ZodBoolean>;
    onClose: z.ZodDefault<z.ZodBoolean>;
    onMessage: z.ZodDefault<z.ZodBoolean>;
    sentMessage: z.ZodDefault<z.ZodBoolean>;
    messageRegexFilter: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    url: z.ZodString;
}, z.core.$strip>;
export declare const SubscriptionProps: {
    id: "id";
    ocppConnectionName: "ocppConnectionName";
    tenant: "tenant";
    tenantId: "tenantId";
    url: "url";
    onClose: "onClose";
    updatedAt: "updatedAt";
    createdAt: "createdAt";
    onConnect: "onConnect";
    onMessage: "onMessage";
    sentMessage: "sentMessage";
    messageRegexFilter: "messageRegexFilter";
};
export type SubscriptionDto = z.infer<typeof SubscriptionSchema>;
export declare const SubscriptionCreateSchema: z.ZodObject<{
    ocppConnectionName: z.ZodString;
    tenantId: z.ZodOptional<z.ZodNumber>;
    url: z.ZodString;
    onClose: z.ZodDefault<z.ZodBoolean>;
    onConnect: z.ZodDefault<z.ZodBoolean>;
    onMessage: z.ZodDefault<z.ZodBoolean>;
    sentMessage: z.ZodDefault<z.ZodBoolean>;
    messageRegexFilter: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type SubscriptionCreate = z.infer<typeof SubscriptionCreateSchema>;
export declare const subscriptionSchemas: {
    Subscription: z.ZodObject<{
        tenantId: z.ZodOptional<z.ZodNumber>;
        tenant: z.ZodOptional<z.ZodObject<{
            id: z.ZodOptional<z.ZodNumber>;
            name: z.ZodString;
            url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            countryCode: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            partyId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            serverProfileOCPI: z.ZodOptional<z.ZodNullable<z.ZodObject<{
                credentialsRole: z.ZodObject<{
                    role: z.ZodEnum<{
                        CPO: "CPO";
                        EMSP: "EMSP";
                        HUB: "HUB";
                        NAP: "NAP";
                        NSP: "NSP";
                        SCSP: "SCSP";
                    }>;
                    businessDetails: z.ZodObject<{
                        name: z.ZodString;
                        website: z.ZodOptional<z.ZodString>;
                        logo: z.ZodOptional<z.ZodObject<{
                            url: z.ZodString;
                            type: z.ZodString;
                            category: z.ZodString;
                            width: z.ZodOptional<z.ZodNumber>;
                            height: z.ZodOptional<z.ZodNumber>;
                        }, z.core.$strip>>;
                    }, z.core.$strip>;
                }, z.core.$strip>;
                versionDetails: z.ZodArray<z.ZodObject<{
                    version: z.ZodEnum<{
                        "2.2.1": "2.2.1";
                    }>;
                    versionDetailsUrl: z.ZodOptional<z.ZodString>;
                }, z.core.$strip>>;
                versionEndpoints: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
                    identifier: z.ZodString;
                    url: z.ZodString;
                }, z.core.$strip>>>;
            }, z.core.$strip>>>;
            isUserTenant: z.ZodDefault<z.ZodBoolean>;
            maxChargingStations: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            updatedAt: z.ZodOptional<z.ZodDate>;
            createdAt: z.ZodOptional<z.ZodDate>;
        }, z.core.$strip>>;
        updatedAt: z.ZodOptional<z.ZodDate>;
        createdAt: z.ZodOptional<z.ZodDate>;
        id: z.ZodOptional<z.ZodNumber>;
        ocppConnectionName: z.ZodString;
        onConnect: z.ZodDefault<z.ZodBoolean>;
        onClose: z.ZodDefault<z.ZodBoolean>;
        onMessage: z.ZodDefault<z.ZodBoolean>;
        sentMessage: z.ZodDefault<z.ZodBoolean>;
        messageRegexFilter: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        url: z.ZodString;
    }, z.core.$strip>;
    SubscriptionCreate: z.ZodObject<{
        ocppConnectionName: z.ZodString;
        tenantId: z.ZodOptional<z.ZodNumber>;
        url: z.ZodString;
        onClose: z.ZodDefault<z.ZodBoolean>;
        onConnect: z.ZodDefault<z.ZodBoolean>;
        onMessage: z.ZodDefault<z.ZodBoolean>;
        sentMessage: z.ZodDefault<z.ZodBoolean>;
        messageRegexFilter: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    }, z.core.$strip>;
};
