1 | import { calendar_v3 } from "googleapis";
|
2 | import { OAuth2Client, JWT, Compute, UserRefreshClient } from "google-auth-library";
|
3 | import moment from "moment-timezone";
|
4 |
|
5 | export declare type Strategy = "linear" | "heavy-firsts" | "heavy-lasts" | "heavy-centers" | "heavy-mornings" | "heavy-afternoons" | "heavy-evenings" | "heavy-mondays" | "heavy-tuesdays" | "heavy-wednesdays" | "heavy-fridays" | "heavy-saturday" | "heavy-sundays";
|
6 |
|
7 |
|
8 |
|
9 | export declare const weightedItemFromArray: (params: GetEventsParams & GetSlotsParams, arr: Slot[], strategies: Strategy[]) => Slot;
|
10 | export interface GetEventsParams {
|
11 | user?: {
|
12 | accessToken: string;
|
13 | refreshToken: string;
|
14 | };
|
15 | from: moment.MomentInput;
|
16 | to: moment.MomentInput;
|
17 | calendar?: calendar_v3.Calendar;
|
18 | calendarId?: string;
|
19 | auth?: string | OAuth2Client | JWT | Compute | UserRefreshClient;
|
20 | }
|
21 | export interface GetSlotsParams {
|
22 | log?: boolean;
|
23 | slotDuration?: number;
|
24 | slots?: number;
|
25 | padding?: number;
|
26 | url?: string;
|
27 | strategies?: Strategy[];
|
28 | weight?: number;
|
29 | days?: number[];
|
30 | daily?: {
|
31 | timezone: string;
|
32 | from?: [number, number?, number?];
|
33 | to?: [number, number?, number?];
|
34 | };
|
35 | slotFilter?: (slot: Slot) => boolean;
|
36 | logger?: (...args: any[]) => void;
|
37 | }
|
38 | export interface Slot {
|
39 | start: Date;
|
40 | end: Date;
|
41 | }
|
42 |
|
43 |
|
44 |
|
45 |
|
46 | export declare const getEventsFromSingleCalendar: ({ user, from, to, calendar, calendarId, auth, }: GetEventsParams) => Promise<calendar_v3.Schema$Event[]>;
|
47 |
|
48 |
|
49 |
|
50 | export declare const getEventsFromAllCalendars: (params: Pick<GetEventsParams, "user" | "auth" | "from" | "to" | "calendar">) => Promise<calendar_v3.Schema$Event[]>;
|
51 |
|
52 |
|
53 |
|
54 | export declare const getEventsFromWebcal: (url: string) => Promise<{
|
55 | start: {
|
56 | dateTime: string;
|
57 | };
|
58 | end: {
|
59 | dateTime: string;
|
60 | };
|
61 | }[]>;
|
62 |
|
63 |
|
64 |
|
65 | export declare const getSlots: (params: GetEventsParams & GetSlotsParams) => Promise<Slot[]>;
|