import { IRequestCounter } from "../processor/types/request.types"; export declare enum paymentInterval { DAILY = "daily", WEEKLY = "weekly", BI_WEEKLY = "bi-weekly", MONTHLY = "monthly", QUARTERLY = "quarterly", YEARLY = "yearly", ONCE = "one-time" } export declare enum pricingMode { PER_REQUEST = "per_request", ONE_TIME = "one_time", UPFRONT = "upfront", RECURRING = "recurring" } export interface IPricing { _id: string; user_id: string; action_id: string; app_tag?: string; pricing_tag: string; public_key: string; id?: string; app_id?: string; name: string; limits?: { per_minute?: number; per_day?: number; per_hour?: number; per_week?: number; per_month?: number; }; pricing_mode: pricingMode; interval?: paymentInterval; unit_price: number; currency: string; envs: Array; } export interface IPricingLimits { per_minute?: number; per_hour?: number; per_day?: number; per_week?: number; per_month?: number; } export interface IPricingData { _id: string; app_id: string; pricing_tag: string; action_id: string; pricing_mode: pricingMode; interval: paymentInterval; limits: IPricingLimits; unit_price: number; name: string; currency: string; user_id: string; public_key: string; } export interface ILogData { app_id?: string; workspace_id?: string; user_id?: string; timestamp?: Date; [key: string]: any; } export interface IPricingResult { pricing_tag: string; pricing_cost: number; currency: string; is_overage: boolean; requests_made: IRequestCounter; limit_exceeded: boolean; exceeded_limits: string[]; }