import { default as React } from 'react';
import { SxProps, Theme } from '@mui/material/styles';
export type NotificationSeverity = 'info' | 'success' | 'warning' | 'error';
export interface NotificationAction {
    label: string;
    onClick: () => void;
}
export interface StackNotification {
    id: string;
    severity: NotificationSeverity;
    title: string;
    message?: string;
    actions?: NotificationAction[];
    timeout?: number;
}
export interface NotificationStackContextValue {
    push: (notification: Omit<StackNotification, 'id'>) => string;
    dismiss: (id: string) => void;
    dismissAll: () => void;
}
export declare function useNotificationStack(): NotificationStackContextValue;
export interface NotificationStackProviderProps {
    children: React.ReactNode;
    maxVisible?: number;
    position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
    sx?: SxProps<Theme>;
}
declare function NotificationStackProvider({ children, maxVisible, position, sx, }: NotificationStackProviderProps): import("react/jsx-runtime").JSX.Element;
declare namespace NotificationStackProvider {
    var displayName: string;
}
export default NotificationStackProvider;
