import { ElementRef, EventEmitter, SimpleChanges, TemplateRef } from '@angular/core'; import { Subject, Subscription } from 'rxjs'; import { FormControl, FormGroup } from '@angular/forms'; import { CdkDragDrop } from '@angular/cdk/drag-drop'; import type { DropdownItem } from '@Mobilesentrix/ms-design-system'; import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; import * as i0 from "@angular/core"; export interface Pagination { total_item?: number; per_page: number; total_page?: number; current_page: number; previous_page: number; } export declare enum CalendarView { Month = "month", Week = "week", Day = "day" } export interface DateTimePrefs { timeZone: string; dateFormat: string; timeFormat: string; } export declare class MsSchedulerComponent { private readonly cdr; private readonly datePipe; private readonly commonService; private readonly toasterService; private readonly renderer; private readonly el; private _dataSet; private _fullDataSet; private _hasLoadedFullData; private _initialLoadCount; private _processedUserIds; private readonly _visibleUserCount; private readonly _dataSetVersion; private _autoLoadEnabled; set dataSet(value: any); get dataSet(): any; readonly visibleUsers: import("@angular/core").Signal; currencyFormat: string; selectedDateFormat: string; rosterStore: any; localStorageData: any; isComponentLoaded: boolean; empId: any; set currentView(value: CalendarView | { currentView: CalendarView; date?: Date; }); get currentView(): CalendarView; private _currentView; paginationConfig: any; requestInProgress: boolean; validateUserFn: (user: any, day: any) => boolean; ismultiPermission: boolean; showScrollLoader: boolean; currencySymbol: any; enableScrollPagination: boolean; enableVirtualScroll: boolean; permissions: { canShowWage?: boolean; canDownloadSchedule?: boolean; canPrintSchedule?: boolean; canEmailSchedule?: boolean; canCopySchedule?: boolean; canDeleteSchedule?: boolean; canChangeScheduleSettings?: boolean; canAddBreakConfig?: boolean; canCreateSchedule?: boolean; canAddTimeoff?: boolean; canAddManagerOnlyLeave?: boolean; }; filterCount: number; globalSearchCount: number; isShowAdvanceFilter: boolean; timeZone: string; deletedScheduleId: boolean; genericEvent: EventEmitter; empNameRoster: any; private checkedHeaderDates; createScheduleOrTimeOff: TemplateRef; tableHeaderMain: ElementRef; schedulerContainer: ElementRef; viewport: CdkVirtualScrollViewport; mainScroll: ElementRef; firstColumn: ElementRef; viewDate: Date; selectedDate: Date | null; selectedStartTime: string | undefined; searchTerm: string; weekDays: string[]; users: any; prefs: DateTimePrefs; CalendarView: typeof CalendarView; startDate: Date; endDate: Date; perPage: number[]; premissionData: any; page: number; pageSize: number; total: number; totalPages: number; limit: number; paraText: string; btnText: string; downloadType: string; search: FormControl; businessName: any; currentDate: Date; todayDate: Date; showDataTable: boolean; currencyName: string; techabrSubscription: Subscription; searchSubject: Subject; containerHeight: number; fullHeight: number; paginator: Pagination; schedulerCounts: any; isConflictSchedule: boolean; apiloading: boolean; apiData: any; defaultUser: any; monthDays: Date[]; weeks: Date[][]; subscription: Subscription; private suppressGlobalSearch; selectedFilterType: any; private scrollSub; private scrollWatcher; private readonly itemSize; userIndex: any; schedulerIndex: any; downloadSummaryOrDetails: string; scheduleCount: Record; previousStartTime: string; previousEndTime: string; form: FormGroup; isScroll: boolean; pendingAnimationFrame: number | null; isLoadingMore: boolean; today: any; isHeaderVisible: boolean; allowpermissionChecked: string[]; private _mobileActionItemsCache; private _createMenuItemsCache; private static readonly EMPTY_EVENTS; columns: string[]; ngOnChanges(changes: SimpleChanges): void; ngOnInit(): void; toggleAdvanceFilter(): void; onBodyScroll(event: Event): void; private loadFullData; private startAutoLoading; private loadRemainingUsers; resetLazyLoading(): void; trackByHeaderDay(index: number, day: any): any; viewSchedule(item: any, userIndex: any, schedulerIndex: any, evnt?: MouseEvent, user?: string): void; onScheduleClick(event: any): void; onCheckSchedule(event: any): void; set viewportSetter(v: CdkVirtualScrollViewport | undefined); private attachScrollWatcher; forceCdkTransformSync(): void; onPageChange(event: any): void; onSchedulerPageChange(event: { currentPage: number; pageSize: number; }): void; onChangePageSize(obj: any): void; onDatePickerChange(value: any): void; generateView(view: any, date: any): void; generateMonthView(date: Date): void; generateWeekView(date: Date): void; ngAfterViewInit(): void; trackById(index: number, user: any): any; trackByDay(index: number, day: any): any; trackByDayCell(index: number, dayCell: any): string; trackByEventId(index: number, event: any): string; generateDayView(date: Date): void; startOfWeek(date: Date): Date; previous(): void; next(): void; isEventOnDay(event: any, day: Date): boolean; isEventOnDayForDailyView(event: any, day: Date): boolean; checkForDaiyEmptyCell(user: any): boolean; isPreviusSchedule(event: any, day: Date): boolean; isOvernightEvent(event: any): boolean; hasEventOnDayForDay(user: any, day: Date): boolean; hasEventOnDay(user: any, day: Date): boolean; clearFilter(): void; setSearchSubject(): void; setSearchCount(event: any): void; checkRow(date: any, event: any): void; isHeaderChecked(date: any): boolean; toggleCheckSchedule(schedule: any, userIndex: number, scheduleIndex: number): void; getCheckedSchedules(): any[]; resetCheckBox(): void; getCheckedValues(): any; convertTimeToHours(time: string): number; dataIndex(userIndex: any, schedulerIndex: any): void; profilePopup(data: any): void; closeModal(): void; onClick(event: Event): void; ngOnDestroy(): void; onButtonClick(action: string): void; isLeave(droppedEvent: any): boolean; isEventHaveLeave(droppedEvent: any): boolean; onDrop(event: CdkDragDrop, user: any, day: any, userIndex: number): void; getShortLeaveStyle(event: any, schedule: any): { left: string; width: string; 'background-color': any; }; calculateMinutesBetween(startTime: string, endTime: string): number; isToday(date: Date): any; formatDateToYYYYMMDD(date: Date): string; convertToHours(time: any): any; findWidth(event: any, day: any, user?: any): number; calculateLeftPositionForDailyVies(event: any, day: any): number; onResize(event: any): void; isEventCommingFromPreviusDay(event: any, date: any): boolean; getPreviousDate: (inputDate: string) => string; adjustEndTime(startTime: string, endTime: string): string; previusDayOvernightAndCurrenDaySchedule(event: any, day: any): boolean; compareWithPreviousDate(scheduleDate: string): boolean; checkForDailyEmptyCells(schedules: any[], date: any): boolean; roundNumber(number: number): string; onEmptyTableDataClicked(user: any, day: any): void; setInitialDate(): void; convertMinutesToHoursAndMinutes(data: any): string; calculateShortLeaveWidth(shortLeaveHours: number, scheduleHours: number, scheduleWidth: number): string; trackByUserId(index: number, user: any): number; trackByScheduleId(index: number, event: any): number; onScrollDown(): void; onScroll(event: any): void; userDisplayName(user: any): any; optimizeMonthlyData(): void; private optimizeRemainingInChunks; private optimizeUserData; private getEventIcons; private getEventDisplayContent; private precomputeEventStyles; private precomputeEventFlags; private precomputeSchedulerStyle; private precomputeWeeklySchedulerStyle; private precomputeOvertimeStyle; private precomputeLeaveStyle; private precomputePtoStyle; private precomputePublicHolidayStyle; private precomputeWeekendStyle; private shouldShowScheduler; private shouldShowOvertime; private shouldShowWeeklyScheduler; private shouldShowLeave; private shouldShowPto; private shouldShowPublicHoliday; private shouldShowWeekend; private getEventTooltip; private getLeaveDisplayText; private getPublicHolidayDisplay; private shouldShowCheckbox; private precomputeIcons; private precomputeEventsByDay; private precomputeDaysWithEvents; private getUserDisplayName; private getFormattedWage; ShiftForm(user: any, scheduler: any): void; timeOfForm(trueOrFalse: boolean): void; resolveConflictsForm(): void; private getDepartmentInfo; getEventsForDay(user: any, day: Date): any[]; private getTooltipContent; private truncateText; private getScheduleDisplayType; private getScheduleDisplayContent; private shouldShowArrow; private precomputeScheduleData; precomputeDayViewData(): void; get mobileActionItems(): DropdownItem[]; get createMenuItems(): DropdownItem[]; private _computeMobileActionItems; private _computeCreateMenuItems; onMobileActionSelected(item: DropdownItem | DropdownItem[]): void; onCreateMenuSelected(item: DropdownItem | DropdownItem[]): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }