import type { CountryCode } from '../Country'; import { type HttpMethodName } from '../HttpMethod'; import type { TableColumnDef } from './types'; export interface SecurityEvent { id: string; objectName: string; tags: string[]; isActive: boolean; requests: number; sourceIp: string; sourceCountry: CountryCode; sourceProvider: string; parameter: string; status: 'Blocked' | 'Monitoring'; firstDetected: string; cweId: string; lastSeen: string; endpointMethod: HttpMethodName; endpointPath: string; } export interface SecurityHeaderEntry { id: string; objectName: string; ip: string | null; ipCountry: CountryCode | null; provider: string; requests: number; status: 'New' | 'Active' | 'Resolved'; lastEdited: string; lastSynced: string; version: 'Up to date' | 'Outdated'; children?: SecurityHeaderEntry[]; } export declare const securityEvents: SecurityEvent[]; export declare const securityColumnHelper: import(".").TableColumnHelper; export declare const securityColumns: TableColumnDef[]; export declare const securityColumnIds: string[]; export declare const groupedHeaderData: SecurityHeaderEntry[]; export declare const headerColumnHelper: import(".").TableColumnHelper; export declare const headerColumns: TableColumnDef[]; export declare const headerColumnIds: string[]; export declare const createLargeGroupedData: (groupCount?: number, childrenPerGroup?: number) => SecurityHeaderEntry[]; /** Shared preview drawer header for security events */ export declare const renderSecurityPreviewHeader: (row: { original: SecurityEvent; }) => import("react/jsx-runtime").JSX.Element; /** Preview content (without title — title shown in DrawerHeader) */ export declare const renderSecurityPreviewContent: (row: { original: SecurityEvent; }) => import("react/jsx-runtime").JSX.Element; /** Duplicate securityEvents N times with unique IDs */ export declare const multiplySecurityEvents: (times?: number) => SecurityEvent[]; export declare const createLargeSecurityEvents: (count?: number) => SecurityEvent[]; export declare const fullFeaturedColumns: TableColumnDef[]; export declare const useInfiniteData: () => { data: SecurityEvent[]; isFetching: boolean; hasMore: boolean; totalItems: number; fetchNextPage: () => void; }; /** * Mock for bidirectional infinite scroll: opens a window around an anchor row * and exposes cursor-style fetchers for both directions. */ export declare const useBidirectionalData: () => { data: SecurityEvent[]; anchorId: string | undefined; isFetchingPrev: boolean; isFetchingNext: boolean; hasPrev: boolean; hasNext: boolean; fetchPrevPage: () => void; fetchNextPage: () => void; };