import { IncomingHttpHeaders } from 'node:http';

type Override = 'HUMAN' | 'BAD-BOT' | 'GOOD-BOT' | 'ALLOWED' | undefined;
type Config = {
    developmentOptions?: {
        bypass?: Override;
        /**
         *  Defaulting to process.env.NODE_ENV !== 'production'
         */
        isDevelopment?: boolean;
    };
    advancedOptions?: {
        checkLevel?: 'deepAnalysis' | 'basic';
        extraAllowedHosts?: string[];
        headers: IncomingHttpHeaders;
    };
};

declare const checkBotId: ({ developmentOptions, advancedOptions, }?: Config) => Promise<{
    isHuman: boolean;
    isBot: boolean;
    isVerifiedBot: boolean;
    bypassed: boolean;
    verifiedBotName?: undefined;
    verifiedBotCategory?: undefined;
    /**
     * @deprecated Reach out to Vercel support to get access to the classificationReason
     */
    classificationReason?: undefined;
} | {
    isHuman: boolean;
    isBot: boolean;
    isVerifiedBot: boolean;
    verifiedBotName: string | undefined;
    verifiedBotCategory: string | undefined;
    bypassed: boolean;
    /**
     * @deprecated Reach out to Vercel support to get access to the classificationReason
     */
    classificationReason: string | undefined;
}>;

export { checkBotId };
