/** @format */ import { AbstractControl } from "@angular/forms"; import { ToastService } from "mis-crystal-design-system/toast"; import { Moment } from "moment-timezone"; import { Observable } from "rxjs"; import { NsWISConfigurations } from "../models/configurations.model"; import { NsEmpWebExpData } from "../models/emp-web-exp.model"; import { ApiService } from "./api.service"; import { ConfigurationService } from "./configuration.service"; export declare class BookingDataService { private apiService; private configSvc; private toasts; heroBooking: NsEmpWebExpData.IBookingDetailDTOS | undefined; upcomingBookings: Array; meetingBookings: Array; timezone: string; offices: Observable; formConfiguration: NsEmpWebExpData.IBookingFormConfig; preferences: NsEmpWebExpData.IPreference; private createBookings$; createBookings: Observable; private updateBookings$; updateBookings: Observable; private cancelBookings$; cancelBookings: Observable; private bookingActions$; bookingActions: Observable; profileRules: Observable; activeBookings: NsEmpWebExpData.IList[]; private bookingStartDate; private bookingEndDate; readonly interval = 7; wfoExpiryTime: Moment; createResp: NsEmpWebExpData.IBookingRequest; createRecurrenceResp: NsEmpWebExpData.IRecurrenceBookingResponse; constructor(apiService: ApiService, configSvc: ConfigurationService, toasts: ToastService); refreshReplayStreams(): void; organiseBookings(bookings: NsEmpWebExpData.IBookingDetailDTOS[], approvalEnabled?: boolean): NsEmpWebExpData.IList[]; setFormForCreate(userConfigs: NsWISConfigurations.IConfigurations, profile: NsEmpWebExpData.IEmployee, type: NsEmpWebExpData.IBookingRequestType, data?: NsEmpWebExpData.INearbyBooking): NsEmpWebExpData.IBookingFormConfig; setFormForUpdate(userConfigs: NsWISConfigurations.IConfigurations, profile: NsEmpWebExpData.IEmployee, booking: NsEmpWebExpData.IBookingDetailDTOS, type?: NsEmpWebExpData.IBookingRequestType): NsEmpWebExpData.IBookingFormConfig; get configurations(): NsWISConfigurations.IConfigurations; castCreateBookingRequests(bookings: NsEmpWebExpData.IBookingRequest[]): void; castUpdateBookingRequests(bookings: NsEmpWebExpData.IBookingRequest[]): void; castCancelBookingRequests(bookings: NsEmpWebExpData.IBookingRequest[]): void; setDates(start: number, end: number): void; updateDates(): void; genBookingRequest(): Observable; getShifts(start: AbstractControl, end: AbstractControl, office: NsEmpWebExpData.IOffice, shiftType: string, loginShiftId: string): Observable; private getPremises; }