import { NextRequest } from "next/server";
import { CentinelConfig } from "./types";
declare class CentinelApiValidator {
    private config;
    constructor(config: CentinelConfig);
    isBot(request: NextRequest): Promise<boolean>;
    private extractClientInfo;
    private buildValidationPayload;
    private validateRequest;
    private setCookies;
    private getRealHost;
}
/**
 * Creates a request validation function for manual validation in API routes.
 *
 * @param config - Centinel configuration object
 * @returns Object with verify function
 *
 * @example
 * ```typescript
 * // app/api/login/route.ts
 * import { createRequestValidator } from '@centinel/nextjs';
 * import { NextRequest, NextResponse } from 'next/server';
 *
 * const { isBot } = createRequestValidator({
 *   siteKey: process.env.CENTINEL_SITE_KEY!,
 *   secretKey: process.env.CENTINEL_SECRET_KEY!
 * });
 *
 * export async function POST(request: NextRequest) {
 *   if (await isBot(request)) {
 *     return NextResponse.json({ error: 'You have been blocked' }, { status: 403 });
 *   }
 *   return handleLogin(request);
 * }
 * ```
 */
export declare function createRequestValidator(config: CentinelConfig): {
    isBot: (request: NextRequest) => Promise<boolean>;
};
/**
 * Creates request validation function using environment variables for configuration.
 *
 * @returns Object with verify function
 *
 * @example
 * ```typescript
 * // app/api/login/route.ts
 * import { createRequestValidatorFromEnv } from '@centinel/nextjs';
 * import { NextRequest, NextResponse } from 'next/server';
 *
 * const { isBot } = createRequestValidatorFromEnv();
 *
 * export async function POST(request: NextRequest) {
 *   if (await isBot(request)) {
 *     return NextResponse.json({ error: 'You have been blocked' }, { status: 403 });
 *   }
 *   return handleLogin(request);
 * }
 * ```
 */
export declare function createRequestValidatorFromEnv(): {
    isBot: (request: NextRequest) => Promise<boolean>;
};
export { CentinelApiValidator };
