/**
 * Serverless Cost Estimator
 *
 * Calculates accurate costs for serverless platforms including:
 * - Compute costs (GB-seconds)
 * - Request costs
 * - Data transfer costs
 * - Free tier deductions
 */
import type { ServerlessPlatform } from './types.js';
/**
 * Input parameters for cost estimation
 */
export interface CostEstimationInput {
    requestsPerMonth: number;
    avgExecutionTimeMs: number;
    memoryMb: number;
    dataTransferGb: number;
}
/**
 * Detailed cost breakdown by category
 */
export interface CostBreakdown {
    compute: number;
    requests: number;
    dataTransfer: number;
    total: number;
    freeTierDeduction: number;
    billableAmount: number;
}
/**
 * Complete cost estimation result for a platform
 */
export interface CostEstimationResult {
    platform: ServerlessPlatform;
    input: CostEstimationInput;
    breakdown: CostBreakdown;
    withinFreeTier: boolean;
    monthlyEstimate: number;
}
/**
 * Estimate costs for a serverless platform
 *
 * @param platform - The serverless platform to estimate costs for
 * @param input - Usage parameters
 * @returns Detailed cost estimation with breakdown
 *
 * @example
 * ```typescript
 * const input = {
 *   requestsPerMonth: 1000000,
 *   avgExecutionTimeMs: 200,
 *   memoryMb: 512,
 *   dataTransferGb: 5
 * };
 * const result = estimateCost(platform, input);
 * console.log(`Monthly cost: $${result.monthlyEstimate}`);
 * ```
 */
export declare function estimateCost(platform: ServerlessPlatform, input: CostEstimationInput): CostEstimationResult;
/**
 * Estimate costs by platform ID
 *
 * @param platformId - Platform identifier (e.g., 'aws-lambda', 'firebase')
 * @param input - Usage parameters
 * @returns Cost estimation result
 */
export declare function estimateCostById(platformId: string, input: CostEstimationInput): Promise<CostEstimationResult>;
//# sourceMappingURL=cost-estimator.d.ts.map