import React from 'react';
import { AnyAction } from '@reduxjs/toolkit';
import { Theme } from '@plurid/plurid-themes';
import { DispatchAction, StateOfAny, themes as themesStateService, notifications as notificationsStateService, Notification as INotification } from '@plurid/plurid-ui-state-react';
export type NotificationsState = StateOfAny & {
    themes: themesStateService.ThemesState;
    notifications: notificationsStateService.NotificationsState;
};
export type NotificationsSelectors = StateOfAny & {
    themes: typeof themesStateService.selectors;
    notifications: typeof notificationsStateService.selectors;
};
export interface NotificationsOwnProperties {
    selectors: NotificationsSelectors;
    context: React.Context<any>;
    elements?: Record<string, JSX.Element>;
}
export interface NotificationsStateProperties {
    stateGeneralTheme: Theme;
    stateNotifications: INotification[];
}
export interface NotificationsDispatchProperties {
    dispatchRemoveNotification: DispatchAction<typeof notificationsStateService.actions.remove>;
}
export type NotificationsProperties = NotificationsOwnProperties & NotificationsStateProperties & NotificationsDispatchProperties;
declare const ConnectedNotifications: import("react-redux").ConnectedComponent<React.FC<NotificationsProperties>, {
    context: React.Context<any>;
    selectors: StateOfAny & {
        themes: typeof themesStateService.selectors;
        notifications: typeof notificationsStateService.selectors;
    };
    elements?: Record<string, JSX.Element> | undefined;
    store?: import("@reduxjs/toolkit").Store<any, AnyAction> | undefined;
}>;
export default ConnectedNotifications;
