/** * Calendar module — list calendars, manage events, check availability. * * All functions take an OAuth2Client as first argument. * Use `getAuth('calendar', 'account@email.com')` from the auth module. */ import type { OAuth2Client } from 'google-auth-library'; import type { CalendarEvent, CalendarInfo, FreeBusyResult, ListResult, WriteResult, ListEventsOptions, EventOptions, EventType, WorkingLocationProperties, OutOfOfficeProperties, FocusTimeProperties, BirthdayProperties } from './types.js'; export type { CalendarEvent, CalendarInfo, FreeBusyResult, ListResult, WriteResult, ListEventsOptions, EventOptions, EventType, WorkingLocationProperties, OutOfOfficeProperties, FocusTimeProperties, BirthdayProperties, }; export type { Attendee, FreeBusySlot } from './types.js'; /** * List all calendars for the account. */ export declare function listCalendars(auth: OAuth2Client): Promise; /** * List events on a calendar. * * @param calendarId - Calendar ID or 'primary' for the main calendar * * @example * ```ts * const events = await listEvents(auth, 'primary', { * timeMin: '2026-02-01T00:00:00Z', * timeMax: '2026-02-28T23:59:59Z', * }); * ``` */ export declare function listEvents(auth: OAuth2Client, calendarId: string, opts?: ListEventsOptions): Promise>; /** * Get a single event by ID. */ export declare function getEvent(auth: OAuth2Client, calendarId: string, eventId: string): Promise; /** * Create a new event. * * WRITE operation — no safety gate (reversible via delete). */ export declare function createEvent(auth: OAuth2Client, calendarId: string, opts: EventOptions): Promise; /** * Update an existing event. * * WRITE operation — no safety gate (reversible). */ export declare function updateEvent(auth: OAuth2Client, calendarId: string, eventId: string, opts: EventOptions): Promise; /** * Delete an event. * * ⚠️ DESTRUCTIVE — requires safety confirmation. */ export declare function deleteEvent(auth: OAuth2Client, calendarId: string, eventId: string): Promise; /** * Query free/busy information for one or more calendars. * * @example * ```ts * const result = await queryFreeBusy(auth, * ['primary', 'colleague@example.com'], * '2026-02-10T00:00:00Z', * '2026-02-10T23:59:59Z' * ); * ``` */ export declare function queryFreeBusy(auth: OAuth2Client, calendarIds: string[], timeMin: string, timeMax: string): Promise; //# sourceMappingURL=index.d.ts.map