/**
 * Serverless Cost Comparison
 *
 * Compares costs across multiple serverless platforms to help identify
 * the most cost-effective option for a given workload.
 */
import type { ServerlessPlatform } from './types.js';
import type { CostEstimationInput, CostBreakdown } from './cost-estimator.js';
/**
 * Cost comparison for a single platform
 */
export interface PlatformCostComparison {
    platform: ServerlessPlatform;
    totalCost: number;
    breakdown: CostBreakdown;
    rank: number;
}
/**
 * Complete cost comparison result across platforms
 */
export interface CostComparisonResult {
    input: CostEstimationInput;
    platforms: PlatformCostComparison[];
    cheapest: PlatformCostComparison;
    mostExpensive: PlatformCostComparison;
    costDifferences: string[];
}
/**
 * Compare costs across multiple serverless platforms
 *
 * @param platforms - Array of platforms to compare
 * @param input - Usage parameters
 * @returns Comparison result with rankings and analysis
 *
 * @example
 * ```typescript
 * const platforms = [awsLambda, azureFunctions, gcpCloudFunctions];
 * const input = {
 *   requestsPerMonth: 2000000,
 *   avgExecutionTimeMs: 300,
 *   memoryMb: 512,
 *   dataTransferGb: 10
 * };
 * const result = compareCosts(platforms, input);
 * console.log(`Cheapest: ${result.cheapest.platform.name} at $${result.cheapest.totalCost}`);
 * ```
 */
export declare function compareCosts(platforms: ServerlessPlatform[], input: CostEstimationInput): CostComparisonResult;
/**
 * Compare costs across platforms by platform IDs
 *
 * @param platformIds - Array of platform IDs to compare
 * @param input - Usage parameters
 * @returns Comparison result
 */
export declare function compareCostsByIds(platformIds: string[], input: CostEstimationInput): Promise<CostComparisonResult>;
/**
 * Compare all available platforms
 *
 * @param input - Usage parameters
 * @returns Comparison result for all platforms
 */
export declare function compareAllPlatforms(input: CostEstimationInput): Promise<CostComparisonResult>;
/**
 * Get summary statistics for a comparison
 */
export declare function getComparisonSummary(result: CostComparisonResult): {
    averageCost: number;
    medianCost: number;
    costRange: number;
    bestValue: PlatformCostComparison;
};
//# sourceMappingURL=cost-comparison.d.ts.map