import type { GraphClientConfig } from "../lib/graph-client.js"; export interface EventTime { dateTime: string; timeZone: string; } export interface EventAttendee { email: string; name?: string; type?: "required" | "optional" | "resource"; } /** Fields shared by create (subject/start/end required) and update (all optional). */ export interface EventInput { subject?: string; start?: EventTime; end?: EventTime; body?: string; attendees?: EventAttendee[]; location?: string; isOnlineMeeting?: boolean; recurrence?: unknown; } /** * Two outcomes, distinguished by `eventId`: * - id known: Graph returned HTTP 201 with a readable event id. * - id unknown: Graph returned HTTP 201 (the event WAS created) but the body * could not be parsed for an id (e.g. an interrupted body stream). The * distinct `created`/`idUnknown` flags plus `message` tell the agent the * event exists so it does not blindly retry and duplicate the booking. */ export type CalendarCreateResult = { eventId: string; webLink: string | null; } | { eventId: null; created: true; idUnknown: true; message: string; }; /** Build a Graph event body from the supplied fields only. Unset keys are omitted. */ export declare function buildEventBody(input: EventInput): Record; export declare function runCalendarCreate(config: GraphClientConfig, args: EventInput): Promise; //# sourceMappingURL=calendar-create.d.ts.map