/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { Observable } from 'rxjs';
import { NavigationAction, ViewItem } from '../types';
import * as i0 from "@angular/core";
/**
 * A service which publishes information from the Scheduler to the views.
 * Views subscribe to changes in the context (selected date, event, and resource data) through this service.
 */
export declare class ViewContextService {
    /**
     * A stream of navigation actions that will be handled by the view.
     */
    readonly action: Observable<NavigationAction>;
    /**
     * A stream that executes methods from the view.
     */
    readonly execute: Observable<any>;
    /**
     * A stream of items (events) that will be displayed in the view.
     */
    readonly items: Observable<ViewItem[]>;
    /**
     * A stream with the selected date that will be displayed by the view.
     */
    readonly selectedDate: Observable<Date>;
    /**
     * Fires when the Scheduler element is resized.
     */
    readonly resize: Observable<void>;
    /**
     * Fires when the Scheduler options are changed.
     */
    readonly optionsChange: Observable<any>;
    private actionSource;
    private itemsSource;
    private selectedDateSource;
    private resizeSource;
    private optionsChangeSource;
    private executeSource;
    constructor();
    /**
     * An internal method which is used by the Scheduler to publish unhandled navigation actions.
     *
     * @hidden
     */
    notifyAction(action: NavigationAction): void;
    /**
     * An internal method which is used by the Scheduler to publish the current set of items.
     *
     * @hidden
     */
    notifyItems(items: ViewItem[]): void;
    /**
     * An internal method which is used by the Scheduler to publish the currently selected date.
     *
     * @hidden
     */
    notifySelectedDate(date: Date): void;
    /**
     * An internal method which is used by the Scheduler to notify that the size changed.
     *
     * @hidden
     */
    notifyResize(): void;
    /**
     * An internal method which is used by the Scheduler to notify that the options changed.
     *
     * @hidden
     */
    notifyOptionsChange(changes: any): void;
    /**
     * An internal method which is used by the Scheduler to execute a view method.
     *
     * @hidden
     */
    executeMethod(name: string, args: any): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<ViewContextService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ViewContextService>;
}
