import { NextRequest, NextResponse } from 'next/server';
export interface CentinelConfig {
    siteKey: string;
    secretKey: string;
}
export interface MiddlewareEvent {
    request: NextRequest;
}
export interface ValidationPayload {
    cookie?: string;
    url: string;
    ip: string;
    referrer?: string;
    method: string;
    headers: Record<string, string>;
}
export interface ValidationResult {
    success: boolean;
    decision: 'allow' | 'block' | 'redirect' | 'not_matched';
    redirect_url?: string;
    cookies?: CentinelCookie[];
}
export interface CentinelCookie {
    name: string;
    value: string;
    path?: string;
    domain?: string;
}
export interface CentinelResult {
    response: NextResponse;
    decision: 'allow' | 'block' | 'redirect' | 'not_matched';
}
