import { SignalKMessageHub, WithConfig } from '../../app';
import { SKVersion, AlarmOptions, NotificationId } from '@signalk/server-api';
import { IRouter } from 'express';
import { ConfigApp } from '../../config/config';
import { WithSecurityStrategy } from '../../security';
export interface NotificationApplication extends IRouter, ConfigApp, WithConfig, WithSecurityStrategy, SignalKMessageHub {
}
export declare const deltaVersion: SKVersion;
export declare class NotificationApi {
    private server;
    private app;
    private notiKeys;
    private notificationManager;
    constructor(server: NotificationApplication);
    start(): Promise<void>;
    /** Filter out notifications.* paths and push onto notiUpdate */
    private filterNotifications;
    /**
     * Handle incoming notification update and assign a notification identifier
     * @param update Update object
     * @param context Context value
     */
    private handleNotificationUpdate;
    /** Initialise API endpoints */
    private initNotificationRoutes;
    listNotifications(): Record<string, import("./alarm").AlarmProperties>;
    getNotification(id: string): import("./alarm").AlarmProperties | undefined;
    silenceNotification(id: string): void;
    silenceAll(): void;
    acknowledgeNotification(id: string): void;
    acknowledgeAll(): void;
    clearNotification(id: string): void;
    raiseNotification(options: AlarmOptions): NotificationId;
    updateNotification(id: string, options: AlarmOptions): void;
    mob(message: string): NotificationId;
}
//# sourceMappingURL=index.d.ts.map