/**
 * assertions-runtime.ts — Runtime assertion functions for agent harness tasks.
 *
 * These run as file-based promptfoo JavaScript assertions, which execute
 * in a full Node.js context (unlike inline `type: javascript` assertions
 * which run in a restricted eval() sandbox without require()).
 *
 * Each export is a named function with the signature:
 *   (output: string, context: { vars, config, ... }) => GradingResult
 *
 * Referenced in promptfoo config as:
 *   value: file://dist/agent-harness/assertions-runtime.js:functionName
 *   config: { filePath: "...", ... }
 *
 * @see https://www.promptfoo.dev/docs/configuration/expected-outputs/javascript/
 */
interface GradingResult {
    pass: boolean;
    score: number;
    reason: string;
}
interface AssertionContext {
    vars: Record<string, unknown>;
    config?: Record<string, unknown>;
}
/**
 * Assert that a file exists in the sandbox working directory.
 * Config: { filePath: string }
 */
export declare function fileExists(_output: string, context: AssertionContext): GradingResult;
/**
 * Assert that a file contains expected content.
 * Config: { filePath: string, content: string }
 */
export declare function fileContains(_output: string, context: AssertionContext): GradingResult;
/**
 * Assert that a shell command succeeds (exit code 0) in the sandbox.
 * Config: { command: string, timeoutMs?: number }
 *
 * SECURITY: Commands come from developer-authored task definitions,
 * not from user input or LLM output.
 */
export declare function commandSucceeds(_output: string, context: AssertionContext): GradingResult;
/**
 * Assert that the git diff in the sandbox contains expected content.
 * Config: { expected?: string }
 */
export declare function diffMatches(_output: string, context: AssertionContext): GradingResult;
export {};
