import { Event } from "../../../base/common/event.js";
import Severity from "../../../base/common/severity.js";
import { INotification, NotificationsFilter, INotificationSourceFilter, INotificationSource, INotificationHandle, NotificationMessage, IPromptChoice, IPromptChoiceWithMenu, IPromptOptions, IStatusMessageOptions, IStatusHandle } from "./notification.js";
export declare const INotificationService: import("../../instantiation/common/instantiation.js").ServiceIdentifier<INotificationService>;
export interface INotificationService {
    readonly _serviceBrand: undefined;
    readonly onDidAddNotification: Event<INotification>;
    readonly onDidRemoveNotification: Event<INotification>;
    readonly onDidChangeFilter: Event<void>;
    setFilter(filter: NotificationsFilter | INotificationSourceFilter): void;
    getFilter(source?: INotificationSource): NotificationsFilter;
    getFilters(): INotificationSourceFilter[];
    removeFilter(sourceId: string): void;
    notify(notification: INotification): INotificationHandle;
    info(message: NotificationMessage | NotificationMessage[]): void;
    warn(message: NotificationMessage | NotificationMessage[]): void;
    error(message: NotificationMessage | NotificationMessage[]): void;
    prompt(severity: Severity, message: string, choices: (IPromptChoice | IPromptChoiceWithMenu)[], options?: IPromptOptions): INotificationHandle;
    status(message: NotificationMessage, options?: IStatusMessageOptions): IStatusHandle;
}
