import { GetListResponse } from '@dvn/core/api/dto/list';
import { Logger } from '@dvn/core/log/logger';
import { Storage } from '@dvn/kimlik/storage/Storage.interface';
import { Availability, CalendarConfig, Event } from '@dvn/takvim/api/models';
import { Unavailability } from '@dvn/takvim/api/models/Unavailability';
import { TakvimApi } from '@dvn/takvim/api/takvimApi';
import { CreateItemResponse } from 'src/modules/mentornity-js-client/api';
export declare class TakvimApiDemo implements TakvimApi {
  private database;
  private logger;
  constructor(database: any, _storage: Storage, logger: Logger);
  getCalendarConfig(id: string): Promise<CalendarConfig>;
  getMeetingsForCalendar(_calendarConfigId: string, _startDate: number, _endDate: number): Promise<GetListResponse<Event>>;
  getAvailabilitiesOfUser(userId: string): Promise<{
    results: Availability[];
  }>;
  getUnavailabilitiesOfUser(_calendarConfigId: string, userId: string, startTime: string, _endTime: string): Promise<GetListResponse<Unavailability>>;
  getMeetingsOfUser(calendarConfigId: string, guestIDs: string[]): Promise<{
    results: Event[];
  }>;
  createMeeting(meeting: Partial<Event>): Promise<CreateItemResponse>;
  createAvailability(availability: Partial<Availability>): Promise<CreateItemResponse>;
  updateAvailability(availability: Partial<Availability>): Promise<CreateItemResponse>;
  deleteAvailability(id: string): Promise<any>;
}
