import { IndexedDb } from '../db'; import { EMITTER_TYPE, QUERY_TYPE, Repository } from "./index"; import { CalendarEntity, Logger } from '../index'; import { AuthenticationService } from "../service/authenticationService"; import { PubSubService } from "type-pubsub"; interface Args { start?: Date; end?: Date; timeZone?: string; userIdList?: string[]; anonymousUserIdList?: string[]; calendarId?: string; account: string; } export declare class CalendarRepository extends Repository { private calendarDb; private calendarService; constructor(authenticationService: AuthenticationService, indexedDb: IndexedDb, baseURL: string, logger?: Logger); getCalendars(bearer: string, account: string, start: Date, end: Date, timeZone?: string, userIdList?: string[], anonymousUserIdList?: string[], mode?: QUERY_TYPE): Promise>; protected remoteList(bearer: string, args: Args): Promise; protected remoteGet(bearer: string, args: Args): Promise; protected remoteCreate(bearer: string, args: Args, item: CalendarEntity): Promise; protected remoteUpdate(bearer: string, args: Args, item: CalendarEntity): Promise; protected remoteDelete(bearer: string, args: Args): Promise; protected localList(args: Args): Promise; protected localBulkSave(args: Args, calendars: CalendarEntity[]): Promise; protected localGet(args: Args): Promise; protected localDelete(args: Args): Promise; protected localBulkDelete(items: CalendarEntity[]): Promise; protected onCascadeDelete(data: any, message: EMITTER_TYPE, channel: PubSubService, handler: any): Promise; } export {};