export interface QdBackendErrorResponse {
    errorCode: string;
    errorMessage: string;
}
export interface QdNotification {
    /**
     * Identifier of this notification
     */
    uuid?: string;
    /**
     * Defines the context where the notification should show up.
     */
    context?: string;
    /**
     * Defines the notification type. Each type has a specific icon and color.
     */
    type: QdNotificationType;
    /**
     * Translation key for the notification message
     */
    i18n: QdNotificationTranslation;
    /**
     * Optionally you can define a translation key for the title here.
     */
    title?: QdNotificationTitle;
    /**
     * Optionally you can define a link here that will be displayed behind or under
     * the notification message.
     */
    link?: QdNotificationLink;
    /**
     * Optionally you can define the date and time of the notification here.
     * Currently, the notification date and time is only displayed for the shell notifications.
     */
    date?: Date;
    /**
     * The notification will be removed automatically after the given life time.
     * This option does not work for 'warning' and 'critical' messages. These messages will not be removed automatically
     * but have to be removed by the user. For 'success' and 'info' messages the default life time is 3 seconds.
     * To configure that the notification is not automatically removed, set the life time to 0.
     */
    lifeTime?: number;
    /**
     * The close "x" can be removed by setting this flag.
     */
    disableClose?: boolean;
    /**
     * Defines a close handler.
     */
    onClose?: () => void;
    /**
     * The notification will additionally be shown as a snackbar if set.
     */
    showAsSnackbar?: boolean;
    /**
     * To override configs for the snackbar notification, you can also pass an options object here.
     */
    snackbarOptions?: QdSnackbarNotificationOptions;
    /**
     * The notification will additionally be pushed as a Windows (OS) notification with the browser Notification API
     * if set. In the future, notifications with this flag will also be triggered as system notifications on smartphones.
     */
    showAsOsNotification?: boolean;
    /**
     * To override configs for the OS notification, you can also pass an options object here.
     */
    osNotificationOptions?: QdOsNotificationOptions;
}
export type QdNotificationType = 'info' | 'warning' | 'critical' | 'success';
export type QdNotificationTranslation = string;
export type QdNotificationTitle = {
    i18n: string;
};
export type QdNotificationLink = {
    i18n: string;
    handler: () => void;
};
export type QdNotifications = QdNotification[];
export interface QdSnackbarNotificationOptions {
    /**
     * Here you can override the life time especially for the snackbar notification. The overridden life time
     * has to be shorter than the life time of the main notification because when the main notification is removed,
     * the snackbar notification will be removed anyway.
     */
    lifeTime?: number;
    /**
     * The close "x" can be removed by setting this flag.
     */
    disableClose?: boolean;
    /**
     * Defines a close handler.
     */
    onClose?: () => void;
}
export interface QdOsNotificationOptions {
    /**
     * Specifies whether the notification should be silent — i.e., no sounds or vibrations should be issued,
     * regardless of the device settings.
     */
    silent?: boolean;
    /**
     * Here you can override the life time especially for the OS notification. The overridden life time
     * has to be shorter than the life time of the main notification because when the main notification is removed,
     * the OS notification will be removed anyway.
     */
    lifeTime?: number;
    /**
     * @description Defines a click handler.
     *
     * * @example You can open a deep link with the following code for the click handler:
     * * event.preventDefault();
     * * window.open('https://your/deep/link');
     */
    onClick?: (event: any) => void;
    /**
     * Defines a close handler.
     */
    onClose?: (event: any) => void;
}
//# sourceMappingURL=notifications.d.ts.map