import { z } from 'zod';
export declare const OperatingModeValues: readonly ["exclude", "include"];
export declare const OperatingModeSchema: z.ZodEnum<["exclude", "include"]>;
export type OperatingMode = z.infer<typeof OperatingModeSchema>;
export declare const LinesModeValues: readonly ["all", "exclude", "include"];
export declare const LinesModeSchema: z.ZodEnum<["all", "exclude", "include"]>;
export type LinesMode = z.infer<typeof LinesModeSchema>;
export declare const ManualRuleBaseSchema: z.ZodObject<{
    _id: z.ZodString;
    event_id: z.ZodOptional<z.ZodString>;
    kind: z.ZodLiteral<"manual">;
    months: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Apr: 4;
        readonly Aug: 8;
        readonly Dec: 12;
        readonly Feb: 2;
        readonly Jan: 1;
        readonly Jul: 7;
        readonly Jun: 6;
        readonly Mar: 3;
        readonly May: 5;
        readonly Nov: 11;
        readonly Oct: 10;
        readonly Sep: 9;
    }>, "many">>;
    name: z.ZodOptional<z.ZodString>;
    operating_mode: z.ZodEnum<["exclude", "include"]>;
    timepoints: z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">;
    weekdays: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">>;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>;
export declare const ManualRuleSchema: z.ZodEffects<z.ZodObject<{
    _id: z.ZodString;
    event_id: z.ZodOptional<z.ZodString>;
    kind: z.ZodLiteral<"manual">;
    months: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Apr: 4;
        readonly Aug: 8;
        readonly Dec: 12;
        readonly Feb: 2;
        readonly Jan: 1;
        readonly Jul: 7;
        readonly Jun: 6;
        readonly Mar: 3;
        readonly May: 5;
        readonly Nov: 11;
        readonly Oct: 10;
        readonly Sep: 9;
    }>, "many">>;
    name: z.ZodOptional<z.ZodString>;
    operating_mode: z.ZodEnum<["exclude", "include"]>;
    timepoints: z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">;
    weekdays: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">>;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>;
export declare const EventDerivedBaseSchema: z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
}, "strip", z.ZodTypeAny, {
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
}, {
    dates: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
}>;
export declare const EventRestrictionSchema: z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
} & {
    all_day: z.ZodBoolean;
    end_time: z.ZodDefault<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">>;
    start_time: z.ZodDefault<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">>;
    event: z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
    }, {
        title: string;
        id: string;
    }>;
    kind: z.ZodLiteral<"event_restriction">;
}, "strip", z.ZodTypeAny, {
    event: {
        title: string;
        id: string;
    };
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    kind: "event_restriction";
    lines_mode: "exclude" | "include" | "all";
    all_day: boolean;
    end_time: string & z.BRAND<"HHMM">;
    start_time: string & z.BRAND<"HHMM">;
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
}, {
    event: {
        title: string;
        id: string;
    };
    dates: string[];
    kind: "event_restriction";
    lines_mode: "exclude" | "include" | "all";
    all_day: boolean;
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    end_time?: string | undefined;
    start_time?: string | undefined;
}>;
export declare const EventReplacementSchema: z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
} & {
    event: z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
    }, {
        title: string;
        id: string;
    }>;
    kind: z.ZodLiteral<"event_replacement">;
    /**
     * When true, each date in the rule will function as its own actual weekday
     * but within the specified year_period_ids, instead of all dates functioning
     * as the same target weekday(s).
     */
    same_weekday: z.ZodOptional<z.ZodBoolean>;
    weekdays: z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    event: {
        title: string;
        id: string;
    };
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    kind: "event_replacement";
    weekdays: (1 | 2 | 4 | 3 | 5 | 6 | 7)[];
    year_period_ids: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    same_weekday?: boolean | undefined;
}, {
    event: {
        title: string;
        id: string;
    };
    dates: string[];
    kind: "event_replacement";
    weekdays: (1 | 2 | 4 | 3 | 5 | 6 | 7)[];
    year_period_ids: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    same_weekday?: boolean | undefined;
}>;
export declare const EventRuleSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
} & {
    all_day: z.ZodBoolean;
    end_time: z.ZodDefault<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">>;
    start_time: z.ZodDefault<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">>;
    event: z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
    }, {
        title: string;
        id: string;
    }>;
    kind: z.ZodLiteral<"event_restriction">;
}, "strip", z.ZodTypeAny, {
    event: {
        title: string;
        id: string;
    };
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    kind: "event_restriction";
    lines_mode: "exclude" | "include" | "all";
    all_day: boolean;
    end_time: string & z.BRAND<"HHMM">;
    start_time: string & z.BRAND<"HHMM">;
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
}, {
    event: {
        title: string;
        id: string;
    };
    dates: string[];
    kind: "event_restriction";
    lines_mode: "exclude" | "include" | "all";
    all_day: boolean;
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    end_time?: string | undefined;
    start_time?: string | undefined;
}>, z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
} & {
    event: z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
    }, {
        title: string;
        id: string;
    }>;
    kind: z.ZodLiteral<"event_replacement">;
    /**
     * When true, each date in the rule will function as its own actual weekday
     * but within the specified year_period_ids, instead of all dates functioning
     * as the same target weekday(s).
     */
    same_weekday: z.ZodOptional<z.ZodBoolean>;
    weekdays: z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    event: {
        title: string;
        id: string;
    };
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    kind: "event_replacement";
    weekdays: (1 | 2 | 4 | 3 | 5 | 6 | 7)[];
    year_period_ids: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    same_weekday?: boolean | undefined;
}, {
    event: {
        title: string;
        id: string;
    };
    dates: string[];
    kind: "event_replacement";
    weekdays: (1 | 2 | 4 | 3 | 5 | 6 | 7)[];
    year_period_ids: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    same_weekday?: boolean | undefined;
}>]>;
export declare const ScheduleRuleSchema: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
    _id: z.ZodString;
    event_id: z.ZodOptional<z.ZodString>;
    kind: z.ZodLiteral<"manual">;
    months: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Apr: 4;
        readonly Aug: 8;
        readonly Dec: 12;
        readonly Feb: 2;
        readonly Jan: 1;
        readonly Jul: 7;
        readonly Jun: 6;
        readonly Mar: 3;
        readonly May: 5;
        readonly Nov: 11;
        readonly Oct: 10;
        readonly Sep: 9;
    }>, "many">>;
    name: z.ZodOptional<z.ZodString>;
    operating_mode: z.ZodEnum<["exclude", "include"]>;
    timepoints: z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">;
    weekdays: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">>;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    name?: string | undefined;
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>, z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
} & {
    all_day: z.ZodBoolean;
    end_time: z.ZodDefault<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">>;
    start_time: z.ZodDefault<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">>;
    event: z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
    }, {
        title: string;
        id: string;
    }>;
    kind: z.ZodLiteral<"event_restriction">;
}, "strip", z.ZodTypeAny, {
    event: {
        title: string;
        id: string;
    };
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    kind: "event_restriction";
    lines_mode: "exclude" | "include" | "all";
    all_day: boolean;
    end_time: string & z.BRAND<"HHMM">;
    start_time: string & z.BRAND<"HHMM">;
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
}, {
    event: {
        title: string;
        id: string;
    };
    dates: string[];
    kind: "event_restriction";
    lines_mode: "exclude" | "include" | "all";
    all_day: boolean;
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    end_time?: string | undefined;
    start_time?: string | undefined;
}>, z.ZodObject<{
    _id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    dates: z.ZodArray<z.ZodEffects<z.ZodString, import("@tmlmobilidade/go-types-shared").OperationalDate, string>, "many">;
    lines_mode: z.ZodEnum<["all", "exclude", "include"]>;
    lines_to_exclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    lines_to_include: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    timepoints: z.ZodOptional<z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">>;
} & {
    event: z.ZodObject<{
        id: z.ZodString;
        title: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        title: string;
        id: string;
    }, {
        title: string;
        id: string;
    }>;
    kind: z.ZodLiteral<"event_replacement">;
    /**
     * When true, each date in the rule will function as its own actual weekday
     * but within the specified year_period_ids, instead of all dates functioning
     * as the same target weekday(s).
     */
    same_weekday: z.ZodOptional<z.ZodBoolean>;
    weekdays: z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    event: {
        title: string;
        id: string;
    };
    dates: import("@tmlmobilidade/go-types-shared").OperationalDate[];
    kind: "event_replacement";
    weekdays: (1 | 2 | 4 | 3 | 5 | 6 | 7)[];
    year_period_ids: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: (string & z.BRAND<"HHMM">)[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    same_weekday?: boolean | undefined;
}, {
    event: {
        title: string;
        id: string;
    };
    dates: string[];
    kind: "event_replacement";
    weekdays: (1 | 2 | 4 | 3 | 5 | 6 | 7)[];
    year_period_ids: string[];
    lines_mode: "exclude" | "include" | "all";
    _id?: string | undefined;
    name?: string | undefined;
    timepoints?: string[] | undefined;
    lines_to_exclude?: string[] | undefined;
    lines_to_include?: string[] | undefined;
    same_weekday?: boolean | undefined;
}>]>;
export declare const PatternUpdateRuleBaseSchema: z.ZodObject<Omit<{
    _id: z.ZodString;
    event_id: z.ZodOptional<z.ZodString>;
    kind: z.ZodLiteral<"manual">;
    months: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Apr: 4;
        readonly Aug: 8;
        readonly Dec: 12;
        readonly Feb: 2;
        readonly Jan: 1;
        readonly Jul: 7;
        readonly Jun: 6;
        readonly Mar: 3;
        readonly May: 5;
        readonly Nov: 11;
        readonly Oct: 10;
        readonly Sep: 9;
    }>, "many">>;
    name: z.ZodOptional<z.ZodString>;
    operating_mode: z.ZodEnum<["exclude", "include"]>;
    timepoints: z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">;
    weekdays: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">>;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "name">, "strip", z.ZodTypeAny, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>;
export declare const PatternUpdateRuleSchema: z.ZodEffects<z.ZodObject<Omit<{
    _id: z.ZodString;
    event_id: z.ZodOptional<z.ZodString>;
    kind: z.ZodLiteral<"manual">;
    months: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Apr: 4;
        readonly Aug: 8;
        readonly Dec: 12;
        readonly Feb: 2;
        readonly Jan: 1;
        readonly Jul: 7;
        readonly Jun: 6;
        readonly Mar: 3;
        readonly May: 5;
        readonly Nov: 11;
        readonly Oct: 10;
        readonly Sep: 9;
    }>, "many">>;
    name: z.ZodOptional<z.ZodString>;
    operating_mode: z.ZodEnum<["exclude", "include"]>;
    timepoints: z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">;
    weekdays: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">>;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "name">, "strip", z.ZodTypeAny, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>;
export declare const PatternUpdateRulesSchema: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<Omit<{
    _id: z.ZodString;
    event_id: z.ZodOptional<z.ZodString>;
    kind: z.ZodLiteral<"manual">;
    months: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Apr: 4;
        readonly Aug: 8;
        readonly Dec: 12;
        readonly Feb: 2;
        readonly Jan: 1;
        readonly Jul: 7;
        readonly Jun: 6;
        readonly Mar: 3;
        readonly May: 5;
        readonly Nov: 11;
        readonly Oct: 10;
        readonly Sep: 9;
    }>, "many">>;
    name: z.ZodOptional<z.ZodString>;
    operating_mode: z.ZodEnum<["exclude", "include"]>;
    timepoints: z.ZodArray<z.ZodBranded<z.ZodEffects<z.ZodString, string, string>, "HHMM">, "many">;
    weekdays: z.ZodOptional<z.ZodArray<z.ZodNativeEnum<{
        readonly Fri: 5;
        readonly Mon: 1;
        readonly Sat: 6;
        readonly Sun: 7;
        readonly Thu: 4;
        readonly Tue: 2;
        readonly Wed: 3;
    }>, "many">>;
    year_period_ids: z.ZodArray<z.ZodString, "many">;
}, "name">, "strip", z.ZodTypeAny, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: (string & z.BRAND<"HHMM">)[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}, {
    _id: string;
    kind: "manual";
    operating_mode: "exclude" | "include";
    timepoints: string[];
    year_period_ids: string[];
    event_id?: string | undefined;
    months?: (1 | 2 | 12 | 10 | 11 | 4 | 3 | 8 | 5 | 6 | 7 | 9)[] | undefined;
    weekdays?: (1 | 2 | 4 | 3 | 5 | 6 | 7)[] | undefined;
}>, "many">>;
export type ScheduleRule = z.infer<typeof ScheduleRuleSchema>;
export type ManualRule = z.infer<typeof ManualRuleSchema>;
export type EventRestrictionRule = z.infer<typeof EventRestrictionSchema>;
export type EventReplacementRule = z.infer<typeof EventReplacementSchema>;
export type EventRule = z.infer<typeof EventRuleSchema>;
