import type { PricingTier, ToolResult } from '../types/index.js';
export declare function getCurrentTier(): Promise<PricingTier>;
export declare function invalidateTierCache(): void;
export declare function withLicenseGate<T>(toolName: string, handler: (args: T) => Promise<ToolResult>): (args: T) => Promise<ToolResult>;
/**
 * Wraps a handler with rate limiting (free tier only) and usage event recording.
 * For free tier: checks daily limit + cooldown before executing.
 * For all tiers: records a usage event after execution (fire-and-forget).
 */
export declare function withUsageTracking<T>(toolName: string, handler: (args: T) => Promise<ToolResult>): (args: T) => Promise<ToolResult>;
//# sourceMappingURL=license-gate.d.ts.map