/** * Agent Cost Estimator — Estimate costs before running test suites. * * Analyzes test definitions to predict token usage and costs * across different model providers. */ import type { TestSuite, TestCase } from './types'; export interface ModelEstimate { model: string; avgCallsPerTest: number; avgCostPerCall: number; totalCost: number; } export interface CostEstimate { testCount: number; models: ModelEstimate[]; totalEstimated: number; suggestedBudget: number; safetyMargin: number; } export interface EstimateOptions { /** Models to estimate for (default: top models) */ models?: string[]; /** Average calls per test (default: 3) */ avgCallsPerTest?: number; /** Average tokens per call input (default: 800) */ avgInputTokens?: number; /** Average tokens per call output (default: 400) */ avgOutputTokens?: number; /** Safety margin multiplier (default: 1.5) */ safetyMargin?: number; } /** * Load a test suite from a YAML file. */ export declare function loadTestSuiteForEstimate(filePath: string): TestSuite; /** * Count tests in a suite, expanding parameterized tests. */ export declare function countTests(suite: TestSuite): number; /** * Estimate complexity of a test based on its expectations. */ export declare function estimateTestComplexity(test: TestCase): number; /** * Estimate costs for running a test suite. */ export declare function estimateCosts(suite: TestSuite, options?: EstimateOptions): CostEstimate; /** * Estimate costs from a file path. */ export declare function estimateCostsFromFile(filePath: string, options?: EstimateOptions): CostEstimate; /** * Format cost estimate for display. */ export declare function formatCostEstimate(estimate: CostEstimate): string; //# sourceMappingURL=cost-estimator.d.ts.map