import { NextRequest } from 'next/server';

/**
 * Server-side utility to parse analytics data from Next.js headers
 */
interface ParsedAnalyticsHeaders {
    ip: string;
    country: string | null;
    city: string | null;
    region: string | null;
    continent: string | null;
    latitude: string | null;
    longitude: string | null;
    timezone: string | null;
    postalCode: string | null;
    host: string | null;
    protocol: "http" | "https" | null;
    deploymentUrl: string | null;
    userAgent: string;
    edgeRegion: string | null;
    cacheStatus: "HIT" | "MISS" | "BYPASS" | "STALE" | null;
}
declare function parseAnalyticsHeaders(headers: Headers): ParsedAnalyticsHeaders;

/**
 * Combined middleware utility for analytics
 * Handles both pathname header injection and bot tracking
 */
declare function setupAnalyticsMiddleware(request: NextRequest): {
    headers: Headers;
    pathname: string;
};

/**
 * Track bot visit with minimal data collection
 * Fire-and-forget: does not throw errors or block execution
 */
declare function trackBotVisit(request: NextRequest, pathname: string): void;

declare const index_parseAnalyticsHeaders: typeof parseAnalyticsHeaders;
declare const index_setupAnalyticsMiddleware: typeof setupAnalyticsMiddleware;
declare const index_trackBotVisit: typeof trackBotVisit;
declare namespace index {
  export { index_parseAnalyticsHeaders as parseAnalyticsHeaders, index_setupAnalyticsMiddleware as setupAnalyticsMiddleware, index_trackBotVisit as trackBotVisit };
}

export { type ParsedAnalyticsHeaders as P, index as i, parseAnalyticsHeaders as p, setupAnalyticsMiddleware as s, trackBotVisit as t };
