import { PricingMode } from 'aws-sdk/clients/iottwinmaker'; import { IPricingLimits } from '../../pricing/pricing.types'; import { IRequestCounter } from '../types/request.types'; import { IRequestTrackerService } from '../services/request.service'; export declare function isFreeTag(pricing_tag: string): boolean; export declare function checkLimitExceeded(requests: IRequestCounter, limits: IPricingLimits): { exceeded: boolean; exceededLimits: string[]; }; export declare function calculateOverageRequests(requests: IRequestCounter, limits: IPricingLimits): number; export declare function calculateRequests(requests: IRequestCounter): number; export declare function calculateCost(pricing_mode: PricingMode, unit_price: number, requests: number): number; export declare function getRequestStats(app_id: string, workspace_id: string, requestTrackerService: IRequestTrackerService): Promise; export declare function resetRequestCounter(app_id: string, workspace_id: string, requestTrackerService: IRequestTrackerService): Promise; export declare function cleanupOldCounters(requestTrackerService: IRequestTrackerService): Promise; export declare function checkRateLimit(app_id: string, workspace_id: string, limits: IPricingLimits, requestTrackerService: IRequestTrackerService): Promise<{ allowed: boolean; reason?: string; reset_time?: Date; }>;