import type { NextRequest } from 'next/server';
import AhoCorasick from 'modern-ahocorasick';
export declare const IGNORE_EXTENSIONS: string[];
export declare const BOT_AGENTS: string[];
export type SEOMiddlewareLogger = Pick<Console, 'debug' | 'info' | 'warn' | 'error' | 'log'>;
export interface SEOMiddlewareOptions {
    auth?: string;
    supportEscapedFragment?: boolean;
    keepGetQuery?: boolean;
    ignoredPaths?: false | RegExp;
    logger?: SEOMiddlewareLogger;
    ignoredExtensions?: string[];
    botAgents?: string[];
    renderingEndpoint?: string;
    retries?: number;
    debug?: boolean;
}
export declare class SEOMiddleware {
    auth: string;
    supportEscapedFragment: boolean;
    keepGetQuery: boolean;
    ignoredPaths: false | RegExp;
    logger: SEOMiddlewareLogger;
    ignoredExtensions: Set<string>;
    botAgents: AhoCorasick;
    renderingEndpoint: string;
    renderingBase: string;
    retries: number;
    debug: boolean;
    constructor(opts: SEOMiddlewareOptions);
    createMiddleware(): (req: NextRequest) => Promise<Response>;
    private checkStatic;
    private checkBot;
    private shouldPrerender;
    private sendRequest;
}
