/** @format */ import { Observable } from "rxjs"; import { NsEmpWebExpData } from "../models/emp-web-exp.model"; import { ApiService } from "./api.service"; import { ActivatedRoute } from "@angular/router"; import { NsWISConfigurations } from "../models/configurations.model"; import { LoaderService } from "./loader.service"; export declare type TofficeCheckInMode = "directCheckIn" | "digiPass" | "scanQR" | "noCheckIn"; export interface IBookingConfiguration { editAllowed: boolean; createAllowed: boolean; createBookingAllowed: boolean; wfhCreateAllowed: boolean; editCutoff: string; cancelCutoff: string; conversionAllowed: { wfo: boolean; wfh: boolean; }; seatEnabled: boolean; cabEnabled: boolean; generateGatepassAdvanceCutOff: number; generateGatepassDelayCutOff: number; approvalFlowEnabled?: boolean; showRegistrationNumberInputFieldForParking: boolean; loginEditCutoff: number; logoutEditCutoff: number; enableGridFloorPlan?: boolean; singleShiftEnabled?: boolean; isShuttleRequired?: boolean; officeCheckInModeWeb?: TofficeCheckInMode; } export declare class ConfigurationService { private apiService; private route; private loader; constructor(apiService: ApiService, route: ActivatedRoute, loader: LoaderService); isMobile: boolean; isTeamsApp: boolean; configurations: Observable; bookingConfigurations: Observable; viewBookingId: string; editBookingId: string; prepareConfigsToApply(configurations: Observable): Observable; refreshReplayStreams(): void; private getApproval; validateBooking(booking: NsEmpWebExpData.IBookingDetailDTOS, configs: IBookingConfiguration): { partiallyCancelled: boolean; editBookingAllowed: boolean; cancelAllowed: boolean; bookingConversionAllowed: boolean; cabsEnabled: boolean; seatsEnabled: boolean; isCheckinDisabled: boolean; booking: NsEmpWebExpData.IBookingDetailDTOS; }; applyOfficeConfigurations(booking: NsEmpWebExpData.IBookingDetailDTOS): Observable; }