import { type ReactNode } from 'react';
import * as signalR from '@microsoft/signalr';
export interface NotificationDto {
    id: string;
    type: string;
    title: string;
    message: string;
    relatedEntityType: string | null;
    relatedEntityId: string | null;
    actionUrl: string | null;
    isRead: boolean;
    readAt: string | null;
    createdAt: string;
    tenantId: string | null;
    tenantName: string | null;
    tenantSlug: string | null;
}
type NotificationHandler = (notification: NotificationDto) => void;
type UnreadCountHandler = (count: number) => void;
interface SignalRContextValue {
    isConnected: boolean;
    connectionState: signalR.HubConnectionState;
    onNotification: (handler: NotificationHandler) => () => void;
    onUnreadCountUpdate: (handler: UnreadCountHandler) => () => void;
}
export declare function SignalRProvider({ children }: {
    children: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
export declare function useSignalRContext(): SignalRContextValue;
export {};
//# sourceMappingURL=SignalRContext.d.ts.map