import { BoxProps } from '@mui/material';
import { ReactNode } from 'react';
export interface NearbyEvent {
    id: string;
    spotId?: string;
    spotName: string;
    cameraName: string;
    timestamp: string;
    address: string;
    type: 'before' | 'after';
    detectedAt?: string;
    lat?: number;
    lng?: number;
}
export interface RouteGroup {
    id: string;
    events: NearbyEvent[];
    startedAt: Date;
    endedAt: Date;
}
export type DetectionsTab = 'routes' | 'events';
export interface EventLocationProps extends BoxProps {
    title?: string;
    address?: string | null;
    mapContent?: ReactNode;
    cameraCount?: number;
    spotCount?: number;
    nearbyAfterEvents?: NearbyEvent[];
    nearbyBeforeEvents?: NearbyEvent[];
    sentinelAfterRef?: (node: HTMLElement | null) => void;
    sentinelBeforeRef?: (node: HTMLElement | null) => void;
    isFetchingMoreAfter?: boolean;
    isFetchingMoreBefore?: boolean;
    isLoading?: boolean;
    onHoverSpot?: (spotId: string | null) => void;
    onSelectEvent?: (eventId: string | null, spotId: string | null) => void;
    selectedEventId?: string | null;
    hideTimeline?: boolean;
    onRouteSelect?: (events: NearbyEvent[]) => void;
    onRouteHover?: (events: NearbyEvent[] | null) => void;
    onActiveTabChange?: (tab: DetectionsTab) => void;
}
