import { IndexedDb } from '../db'; import { EMITTER_TYPE, QUERY_RESULT, QUERY_RESULTS, QUERY_TYPE, Repository } from './index'; import { EventEntity } from '../data/Event'; import { AuthenticationService } from "../service/authenticationService"; import { PubSubService } from "type-pubsub"; import { Logger } from "../utils/logger"; import { EventFields } from "../service/items/EventFields"; import { CustomStatusEntity } from "../data/CustomStatus"; import { EventSearchBodyEntity, EventSearchEntity, EventSearchOption, EventSearchPageEntity } from "../data/EventSearch"; import { BatchService } from "../service/batchService"; interface Args { account?: string; companyId?: string; eventId?: string; timeZone?: string; force?: boolean; userIds?: string; showPersonal?: boolean; showDeleted?: boolean; start?: Date; end?: Date; fields?: EventFields[]; syncToken?: string; } export declare class EventRepository extends Repository { REPOSITORY_NAME: string; private eventDb; private eventService; private batchService; private eventMetaStorage; constructor(authenticationService: AuthenticationService, batchService: BatchService, indexedDb: IndexedDb, baseURL: string, logger?: Logger); dispose(): void; protected onCascadeDelete(data: any, message: EMITTER_TYPE, channel: PubSubService, handler: any): Promise; createEvent(bearer: string, account: string, companyId: string, event: EventEntity, timeZone: string, force: boolean): Promise; updateEvent(bearer: string, account: string, companyId: string, event: EventEntity, timeZone?: string, force?: boolean): Promise; getEvent(bearer: string, organisationEmail: string, eventId: string, showPersonal?: boolean, mode?: QUERY_TYPE): Promise>; getCompanyEvent(bearer: string, organisationEmail: string, companyId: string, eventId: string, showPersonal?: boolean): Promise; getAllEvents(bearer: string, organisationEmail: string, userIds: string[], start: Date, end: Date, showPersonal?: boolean, showDeleted?: boolean, timeZone?: string, fields?: EventFields[], syncToken?: string, mode?: QUERY_TYPE): Promise>; getEventWithCoverage(bearer: string, organisationEmail: string, userIds: string[], start: Date, end: Date, showPersonal?: boolean, showDeleted?: boolean, timeZone?: string, fields?: EventFields[], mode?: QUERY_TYPE): Promise>; searchEvents(bearer: string, organisationEmail: string, searchBody: EventSearchBodyEntity, options?: EventSearchOption): Promise; countAppointmentConflict(bearer: string, organisationEmail: string, searchBody: EventSearchBodyEntity): Promise; deleteAppointmentConflict(bearer: string, organisationEmail: string, eventId: string): Promise; updateEventStatus(bearer: string, account: string, companyId: string, eventId: string, status: string): Promise; updateEventsToStatus(bearer: string, account: string, events: EventSearchEntity[], status: string | CustomStatusEntity): Promise; updateEventCustomStatus(bearer: string, account: string, companyId: string, eventId: string, customStatus: CustomStatusEntity): Promise; getExternalEvent(bearer: string, organisationEmail: string, userIds: string[], start: Date, end: Date, timeZone?: string): Promise; deleteAllEvents(): Promise; protected remoteList(bearer: string, args: Args): Promise; protected remoteSyncList(bearer: string, args: Args): Promise<{ nextSyncToken?: string; results: EventEntity[]; }>; protected remoteGet(bearer: string, args: Args): Promise; protected remoteCreate(bearer: string, args: Args, item: EventEntity): Promise; protected remoteUpdate(bearer: string, args: Args, item: EventEntity): Promise; protected remoteUpdateStatus(bearer: string, args: Args, status: string): Promise; protected remoteUpdateCustomStatus(bearer: string, args: Args, customStatus: CustomStatusEntity): Promise; protected remoteDelete(bearer: string, args: Args): Promise; protected localList(args: Args): Promise; protected localGet(args: Args): Promise; protected localBulkSave(args: Args, events: EventEntity[]): Promise; protected localDelete(args: Args): Promise; protected localBulkDelete(items: EventEntity[]): Promise; private _syncListRemoteFirstThenLocal; } export {};