@adopture/next
Version: 
Next.js SDK for Adopture feature adoption tracking with SSR support
50 lines (46 loc) • 1.73 kB
TypeScript
import { NextRequest, NextResponse } from 'next/server';
import { M as MiddlewareConfig } from './types-CXiGQrH7.js';
import '@adopture/sdk-core';
/**
 * Next.js Middleware integration for Adopture
 * Provides edge runtime compatible tracking for route changes and performance metrics
 */
/**
 * Adopture middleware for Next.js
 * Tracks route changes and performance metrics at the edge
 */
declare function createAdoptureMiddleware(config: MiddlewareConfig): (request: NextRequest) => Promise<NextResponse>;
/**
 * Utility function to create a basic middleware with minimal configuration
 */
declare function simpleAdoptureMiddleware(apiKey: string, options?: {
    enableRouteTracking?: boolean;
    enablePerformanceTracking?: boolean;
    excludeRoutes?: string[];
}): (request: NextRequest) => Promise<NextResponse>;
/**
 * Higher-order middleware that wraps existing middleware with Adopture tracking
 */
declare function withAdoptureTracking<T extends NextRequest>(middleware: (request: T) => NextResponse | Promise<NextResponse>, config: MiddlewareConfig): (request: T) => Promise<NextResponse>;
/**
 * Configuration helper for common middleware patterns
 */
declare const middlewarePresets: {
    /**
     * Basic tracking for all routes
     */
    basic: (apiKey: string) => MiddlewareConfig;
    /**
     * API-focused tracking
     */
    api: (apiKey: string) => MiddlewareConfig;
    /**
     * Page-focused tracking (exclude API routes)
     */
    pages: (apiKey: string) => MiddlewareConfig;
    /**
     * Full tracking with performance metrics
     */
    full: (apiKey: string) => MiddlewareConfig;
};
export { createAdoptureMiddleware, middlewarePresets, simpleAdoptureMiddleware, withAdoptureTracking };