export interface LicenseResult { valid: boolean; tier: 'core' | 'pro'; expires_at?: string; cached?: boolean; offline_grace?: boolean; } export declare class LicenseValidator { private cache; /** * Validate a license key. Returns tier info. * - Checks format first (fast reject) * - Uses 24h in-memory cache * - Falls back to Supabase REST API * - Offline grace: trusts cache for 72h if Supabase unreachable */ validate(key: string): Promise; /** * Pre-validate a key on startup (fire and forget). */ prevalidate(key: string): Promise; /** * Check if a key is currently valid (from cache only, no network). */ getCachedResult(key: string): LicenseResult | null; private hashKey; private remoteValidate; } export declare function getLicenseValidator(): LicenseValidator; //# sourceMappingURL=license.d.ts.map