import { Observable } from 'rxjs';
import { WidgetChangeEvent, WidgetChangeEventType } from './widget-change-event.model';
import * as i0 from "@angular/core";
/**
 * A service which can be used, to emit data on a dashboard level.
 * Each Widget Dashboard gets an own instance of this service provided
 * and you can then update all or only one.
 */
export declare class WidgetsDashboardEventService {
    /**
     * All events sent on the current dashboard.
     */
    private events$;
    private lastValueByEvent;
    /**
     * Returns a subscribable event observable of specific event type if eventType is passed, or observable of
     * all the events if no param is passed to method.
     * @param eventType The event you want an observable for.
     * @returns An observable of event.
     */
    getObservable<T extends WidgetChangeEvent>(eventType?: WidgetChangeEventType): Observable<T['data']>;
    /**
     * Returns the last value of the event.
     * @param eventType The change event type you want the last value from.
     * @returns The last value used by this event, undefined if non was sent so far.
     */
    getLastValue(eventType: WidgetChangeEventType): import("./widget-change-event.model").WidgetTimeContext;
    /**
     * Emits a new event.
     * @param event The WidgetChangeEvent to emit.
     */
    emit(event: WidgetChangeEvent): void;
    setRealtimeTimeContextSetting(value?: boolean): void;
    /**
     * @ignore
     */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WidgetsDashboardEventService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<WidgetsDashboardEventService>;
}
//# sourceMappingURL=widgets-dashboard-event.service.d.ts.map