/**
 * source-isolation.ts
 *
 * Promptfoo custom assertion: verifies that the agentic provider only
 * fetched documentation from the configured allowed origins.
 *
 * Compiled to dist/assertions/source-isolation.js and referenced via
 * file:// in generated Promptfoo configs.
 *
 * The assertion is diagnostic-only — flagged `metadata.scoring: false` so it
 * stays out of `assertion-pass-rate`. It surfaces as an advisory pass/fail
 * signal in results (D0083; before that this was a `weight: 0` sentinel).
 *
 * @see docs/archive/exec-plans/source-aware-eval-isolation.md (Phase 3b)
 */
export interface SourceIsolationReport {
    blocked: number;
    isolationScore: number;
    offOrigin: number;
    offOriginUrls: string[];
    onOrigin: number;
    originBreakdown: Record<string, number>;
    total: number;
}
interface AgentBehaviorData {
    docPageVisits?: {
        slug: string;
        url: string;
    }[];
    requests?: {
        statusCode: number;
        url: string;
    }[];
}
interface AssertionContext {
    providerResponse?: {
        metadata?: {
            agentBehavior?: AgentBehaviorData;
        };
    };
    vars?: Record<string, string>;
}
interface GradingResult {
    pass: boolean;
    reason: string;
    score: number;
}
/**
 * Analyze doc page visits and compute an isolation score.
 *
 * The isolation score is the fraction of doc-fetching requests that went
 * to an allowed origin. A score of 1.0 means perfect isolation.
 *
 * @param docPageVisits - Classified doc page visit records
 * @param allowedOrigins - Origin patterns (glob-capable)
 * @returns Isolation report with score and breakdown
 */
export declare function analyzeSourceIsolation(docPageVisits: {
    url: string;
}[], allowedOrigins: string[]): SourceIsolationReport;
/**
 * Promptfoo custom assertion function.
 *
 * Called by Promptfoo for each test case when referenced as:
 *   type: javascript
 *   value: file://dist/assertions/source-isolation.js
 *   metadata: { scoring: false }
 *
 * @param output - The model's text output (unused)
 * @param context - Promptfoo assertion context with provider metadata
 */
export default function (_output: string, context: AssertionContext): GradingResult;
export {};
