import type { PricingTier, ToolResult } from '../types/index.js';
export declare function getCurrentTier(): Promise<PricingTier>;
export declare function invalidateTierCache(): void;
/**
 * Synchronous tier estimate based on environment variables only — no disk I/O.
 * Used at server startup to set the display name before async validation runs.
 * Returns 'enterprise' for owner token, 'pro' if a license key env var is set, 'free' otherwise.
 */
export declare function getTierSync(): PricingTier;
export declare function shouldBypassDailyRateLimit(toolName: string): boolean;
export declare function withLicenseGate<T>(toolName: string, handler: (args: T, extra?: unknown) => Promise<ToolResult>): (args: T, extra?: unknown) => 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, extra?: unknown) => Promise<ToolResult>): (args: T, extra?: unknown) => Promise<ToolResult>;
//# sourceMappingURL=license-gate.d.ts.map