import type { PricingTier, PricingTierConfig, ApiKeyInfo, AgentSpecialization } from '../runtime/types.js'; export declare class PricingEnforcer { private apiKeys; /** Register an API key with its tier. */ registerKey(key: string, tier: PricingTier, organizationId: string): void; /** Get the tier config for an API key. */ getTierConfig(apiKey: string): PricingTierConfig | null; /** Get API key info. */ getKeyInfo(apiKey: string): ApiKeyInfo | null; /** * Check if the requested agents are allowed for this tier. * Returns the agents that are allowed and any that were filtered out. */ filterAgents(apiKey: string, requestedAgents: readonly AgentSpecialization[]): { allowed: AgentSpecialization[]; denied: AgentSpecialization[]; reason: string | null; }; /** * Record a verification and check if the monthly limit is exceeded. * Returns whether the verification is allowed (within limits or overage). */ recordVerification(apiKey: string): { allowed: boolean; isOverage: boolean; count: number; limit: number; overageCostCents: number; }; /** * Get current usage for an API key. */ getUsage(apiKey: string): { verificationsUsed: number; verificationsLimit: number; overageCount: number; estimatedOverageCostCents: number; } | null; /** * Reset monthly verification count (called at billing cycle). */ resetMonthlyUsage(apiKey: string): void; /** Check if an API key exists and is valid. */ isValidKey(apiKey: string): boolean; }