import { z } from "zod";
declare const annualItemSchema: z.ZodObject<{
    /** `1.` prefix and indentation will be handled for you */
    text: z.ZodString;
    /** 1 - January, 12 - December */
    month: z.ZodNumber;
    /**
     * By default we only add the item to the primary meeting; set true if the
     * item should be added to all meetings.
     */
    allMeetings: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    text: string;
    month: number;
    allMeetings?: boolean | undefined;
}, {
    text: string;
    month: number;
    allMeetings?: boolean | undefined;
}>;
export type AnnualItem = z.infer<typeof annualItemSchema>;
export declare const configSchema: z.ZodObject<{
    name: z.ZodString;
    repoUrl: z.ZodString;
    videoConferenceDetails: z.ZodString;
    liveNotesUrl: z.ZodOptional<z.ZodString>;
    repoSubpath: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    agendaTemplateBottom: z.ZodOptional<z.ZodString>;
    links: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    attendeesTemplate: z.ZodString;
    dateAndTimeLocations: z.ZodOptional<z.ZodString>;
    /** In the agenda file name */
    filenameFragment: z.ZodOptional<z.ZodString>;
    agendasFolder: z.ZodOptional<z.ZodString>;
    joiningAMeetingFile: z.ZodOptional<z.ZodString>;
    timezone: z.ZodEnum<["US/Pacific", "US/Eastern", "UTC", "Europe/Berlin"]>;
    frequency: z.ZodEnum<["weekly", "monthly"]>;
    /** If weekly, which meeting is the primary? */
    primaryN: z.ZodOptional<z.ZodNumber>;
    weekday: z.ZodEnum<["M", "Tu", "W", "Th", "F", "Sa", "Su"]>;
    /** If frequency="monthly", the nth weekday will be used */
    nth: z.ZodOptional<z.ZodNumber>;
    /** 24h range, e.g. `"09:15-19:45"` */
    time: z.ZodString;
    /** If this WG has annual items, specify them here. */
    annualItems: z.ZodOptional<z.ZodArray<z.ZodObject<{
        /** `1.` prefix and indentation will be handled for you */
        text: z.ZodString;
        /** 1 - January, 12 - December */
        month: z.ZodNumber;
        /**
         * By default we only add the item to the primary meeting; set true if the
         * item should be added to all meetings.
         */
        allMeetings: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        text: string;
        month: number;
        allMeetings?: boolean | undefined;
    }, {
        text: string;
        month: number;
        allMeetings?: boolean | undefined;
    }>, "many">>;
    /** If this WG has secondary meetings, specify them here. Only for monthly. */
    secondaryMeetings: z.ZodOptional<z.ZodArray<z.ZodObject<{
        dayOffset: z.ZodOptional<z.ZodNumber>;
        nth: z.ZodNumber;
        time: z.ZodString;
        name: z.ZodDefault<z.ZodOptional<z.ZodString>>;
        description: z.ZodOptional<z.ZodString>;
        filenameFragment: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        nth: number;
        time: string;
        name: string;
        dayOffset?: number | undefined;
        description?: string | undefined;
        filenameFragment?: string | undefined;
    }, {
        nth: number;
        time: string;
        dayOffset?: number | undefined;
        name?: string | undefined;
        description?: string | undefined;
        filenameFragment?: string | undefined;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    time: string;
    name: string;
    repoUrl: string;
    videoConferenceDetails: string;
    attendeesTemplate: string;
    timezone: "US/Pacific" | "US/Eastern" | "UTC" | "Europe/Berlin";
    frequency: "weekly" | "monthly";
    weekday: "M" | "Tu" | "W" | "Th" | "F" | "Sa" | "Su";
    liveNotesUrl?: string | undefined;
    repoSubpath?: string | undefined;
    description?: string | undefined;
    agendaTemplateBottom?: string | undefined;
    links?: Record<string, string> | undefined;
    dateAndTimeLocations?: string | undefined;
    filenameFragment?: string | undefined;
    agendasFolder?: string | undefined;
    joiningAMeetingFile?: string | undefined;
    primaryN?: number | undefined;
    nth?: number | undefined;
    annualItems?: {
        text: string;
        month: number;
        allMeetings?: boolean | undefined;
    }[] | undefined;
    secondaryMeetings?: {
        nth: number;
        time: string;
        name: string;
        dayOffset?: number | undefined;
        description?: string | undefined;
        filenameFragment?: string | undefined;
    }[] | undefined;
}, {
    time: string;
    name: string;
    repoUrl: string;
    videoConferenceDetails: string;
    attendeesTemplate: string;
    timezone: "US/Pacific" | "US/Eastern" | "UTC" | "Europe/Berlin";
    frequency: "weekly" | "monthly";
    weekday: "M" | "Tu" | "W" | "Th" | "F" | "Sa" | "Su";
    liveNotesUrl?: string | undefined;
    repoSubpath?: string | undefined;
    description?: string | undefined;
    agendaTemplateBottom?: string | undefined;
    links?: Record<string, string> | undefined;
    dateAndTimeLocations?: string | undefined;
    filenameFragment?: string | undefined;
    agendasFolder?: string | undefined;
    joiningAMeetingFile?: string | undefined;
    primaryN?: number | undefined;
    nth?: number | undefined;
    annualItems?: {
        text: string;
        month: number;
        allMeetings?: boolean | undefined;
    }[] | undefined;
    secondaryMeetings?: {
        nth: number;
        time: string;
        dayOffset?: number | undefined;
        name?: string | undefined;
        description?: string | undefined;
        filenameFragment?: string | undefined;
    }[] | undefined;
}>;
export type Config = z.infer<typeof configSchema>;
export {};
