wgutils
Version:
Tools for managing working groups
158 lines (157 loc) • 5.69 kB
TypeScript
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 {};