/**----------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the project root for more information *-------------------------------------------------------------------------------------------*/ import { Observable, Subject } from 'rxjs'; import { SlotDragStartEvent } from '../events/slot-drag-start-event'; import { DateRange, SchedulerView } from '../types'; import { ExtendedSlotRange, slotDragEventName, SlotRange } from '../types/slot-selection'; import * as i0 from "@angular/core"; /** * A service for publishing the view state and actions to the Scheduler. */ export declare class ViewStateService { /** * Represents a stream that publishes the visible date range for the current view to the Scheduler. */ readonly dateRange: Observable; /** * Represents a stream that publishes changes to the selected date, which initiate from the view. */ readonly nextDate: Observable; /** * Represents a stream for navigating from the current view to another view. */ readonly navigate: Observable; /** * Represents a stream that publishes events for navigation between views. */ readonly viewEvent: Observable; /** * Represents a stream that indicates when the view layout finishes. */ readonly layoutEnd: Observable; /** * Represents a stream that indicates when the view options change. */ readonly optionsChange: Observable; /** * Represents a stream that indicates when the user starts a new slot selection. */ readonly slotSelectionStart: Observable; /** * Represents a stream that indicates when the user drags over a different slot during selection. */ readonly slotSelectionDrag: Observable; /** * Represents a stream that indicates when the user finishes making a slot selection. */ readonly slotSelectionEnd: Observable; /** * @hidden */ toggleWorkHours: Subject; /** * @hidden */ toolbarVisibilityByView: Map; private dateRangeSource; private nextDateSource; private navigateSource; private viewEventSource; private layoutEndSource; private optionsChangeSource; private slotSelectionStartSource; private slotSelectionStartDragSource; private slotSelectionStartEndSource; constructor(); /** * Publishes the date that will be displayed by the Scheduler * typically as a result from processing a navigation action. */ notifyNextDate(date: Date): void; /** * Publishes the visible date range of the view. * The view will calculate and set the new data range when * the selected date changes. */ notifyDateRange(range: DateRange): void; /** * Notifies the Scheduler that the view has completed its layout. */ notifyLayoutEnd(): void; /** * Navigates to another view. */ navigateTo(args: any): void; /** * Notifies the Scheduler that the view options have been changed. */ notifyOptionsChange(changes?: any): void; /** * Emits a DOM event to the Scheduler. */ emitEvent(name: string | slotDragEventName, args?: any): void; /** @hidden */ notifySlotSelectionStart(selection: SlotDragStartEvent): void; /** @hidden */ notifySlotSelectionDrag(selection: ExtendedSlotRange): void; /** @hidden */ notifySlotSelectionEnd(selection: ExtendedSlotRange): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }