/**
 * provider.ts — Agent harness Promptfoo custom provider.
 *
 * Handles agent-harness evaluation tasks by calling the Anthropic API
 * with the task prompt and returning the response. Sandbox provisioning
 * and teardown are handled by lifecycle extensions (beforeEach/afterEach),
 * not by the provider itself.
 *
 * Promptfoo config usage:
 *
 *   providers:
 *     - id: file://dist/agent-harness/provider.js
 *       label: "Agent Harness: My Task"
 *       config:
 *         allowedTools: ["Bash", "Read", "Write"]
 *         sandbox: { type: "tempdir" }
 *
 * Promptfoo loads this file and instantiates the default export class.
 */
interface CallApiContextParams {
    prompt?: {
        raw: string;
        label?: string;
    };
    vars?: Record<string, object | string>;
}
interface ProviderOptions {
    config?: Record<string, unknown>;
    id?: string;
}
interface ProviderResponse {
    cached?: boolean;
    cost?: number;
    error?: string;
    metadata?: Record<string, unknown>;
    output?: object | string;
    tokenUsage?: {
        total?: number;
        prompt?: number;
        completion?: number;
        cached?: number;
    };
}
export default class AgentHarnessProvider {
    config: Record<string, unknown>;
    private providerId;
    constructor(options: ProviderOptions);
    id(): string;
    /**
     * Main Promptfoo provider entry point. Called for each test case.
     *
     * Sends the task prompt to the Anthropic API and returns the response.
     * The sandbox working directory is available in context.vars.__workingDir
     * (set by the beforeEach extension).
     */
    callApi(prompt: string, context?: CallApiContextParams): Promise<ProviderResponse>;
}
export {};
