import { Notification, NotificationSettings, NotificationSeverity, NotificationStatus } from '@backstage/plugin-notifications-common';
/** @public */
export declare const notificationsApiRef: import("@backstage/core-plugin-api").ApiRef<NotificationsApi>;
/** @public */
export type GetNotificationsCommonOptions = {
    search?: string;
    read?: boolean;
    saved?: boolean;
    createdAfter?: Date;
    minimumSeverity?: NotificationSeverity;
};
/** @public */
export type GetNotificationsOptions = GetNotificationsCommonOptions & {
    offset?: number;
    limit?: number;
    sort?: 'created' | 'topic' | 'origin';
    sortOrder?: 'asc' | 'desc';
    topic?: string;
};
/** @public */
export type GetTopicsOptions = GetNotificationsCommonOptions;
/** @public */
export type UpdateNotificationsOptions = {
    ids: string[];
    read?: boolean;
    saved?: boolean;
};
/** @public */
export type GetNotificationsResponse = {
    notifications: Notification[];
    totalCount: number;
};
/** @public */
export type GetTopicsResponse = {
    topics: string[];
};
/** @public */
export interface NotificationsApi {
    getNotifications(options?: GetNotificationsOptions): Promise<GetNotificationsResponse>;
    getNotification(id: string): Promise<Notification>;
    getStatus(): Promise<NotificationStatus>;
    updateNotifications(options: UpdateNotificationsOptions): Promise<Notification[]>;
    getNotificationSettings(): Promise<NotificationSettings>;
    updateNotificationSettings(settings: NotificationSettings): Promise<NotificationSettings>;
    getTopics(options?: GetTopicsOptions): Promise<GetTopicsResponse>;
}
