import { GetListResponse } from '@dvn/core/api/dto/list';
import { Unavailability } from '@dvn/takvim/api/models/Unavailability';
import { CreateItemResponse } from '../../../mentornity-js-client/api';
import { Availability, CalendarConfig, Event } from './models';
export interface TakvimApi {
  getCalendarConfig: (id: string) => Promise<CalendarConfig>;
  getMeetingsForCalendar: (calendarConfigId: string, startDate: number, endDate: number) => Promise<GetListResponse<Event>>;
  getAvailabilitiesOfUser: (userId: string) => Promise<GetListResponse<Availability>>;
  getUnavailabilitiesOfUser: (calendarConfigId: string, userId: string, startTime: string, endTime: string) => Promise<GetListResponse<Unavailability>>;
  getMeetingsOfUser: (calendarConfigId: string, guestIDs: string[]) => Promise<GetListResponse<Event>>;
  createMeeting: (meeting: Partial<Event>) => Promise<CreateItemResponse>;
  createAvailability: (availability: Partial<Availability>) => Promise<CreateItemResponse>;
  updateAvailability: (availability: Partial<Availability>) => Promise<CreateItemResponse>;
  deleteAvailability: (id: string) => Promise<any>;
}
