import { SignalKMessageHub, WithConfig } from '../../app';
import { SKVersion, AlarmProperties, NotificationId, AlarmRaiseOptions, AlarmUpdateOptions, Path } 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;
    list(): Record<NotificationId, AlarmProperties>;
    getId(id: NotificationId): AlarmProperties | undefined;
    getPath(path: Path): Record<NotificationId, AlarmProperties>;
    silence(id: NotificationId): void;
    silenceAll(): void;
    acknowledge(id: NotificationId): void;
    acknowledgeAll(): void;
    clear(id: NotificationId): void;
    raise(options: AlarmRaiseOptions): NotificationId;
    update(id: NotificationId, options: AlarmUpdateOptions): void;
    mob(message?: string): NotificationId;
}
//# sourceMappingURL=index.d.ts.map