/**
 * License file I/O — reads/writes ~/.shieldcortex/license.json
 *
 * The Ed25519 signature on the key itself provides integrity for the tier
 * and expiry. The validationStatus field is advisory — a tampered value
 * only persists until the next online validation (≤24h). HMAC is not
 * needed here because the hard security boundary is the signed key, not
 * the JSON file.
 *
 * License is cached in memory after first read.
 */
import type { LicenseTier, LicenseInfo, LicenseFile } from './keys.js';
import { getTrialStatus, isTrialActive, getTrialDaysRemaining } from './trial.js';
export { isTrialActive, getTrialDaysRemaining, getTrialStatus };
/** Clear the in-memory cache (useful for testing or after activation). */
export declare function clearLicenseCache(): void;
/**
 * Read and verify the stored license.
 * Returns a LicenseInfo with tier='free' if no license exists or verification fails.
 */
export declare function getLicense(): LicenseInfo;
/**
 * Quick accessor for the current licence tier.
 * Returns 'pro' during an active trial (if no paid license is active).
 * Returns 'free' otherwise.
 */
export declare function getLicenseTier(): LicenseTier;
/**
 * Read the raw license file data (for status display).
 * Returns null if no license file exists.
 */
export declare function getLicenseFile(): LicenseFile | null;
/**
 * Activate a license key — verify it, then store in license.json.
 * Returns the verified LicenseInfo.
 * Throws if the key is invalid.
 */
export declare function activateLicense(key: string): LicenseInfo;
/**
 * Remove the license file (deactivate).
 */
export declare function deactivateLicense(): void;
/**
 * Update the validation status and timestamp in the license file.
 * Called by the online validation module.
 */
export declare function updateValidationStatus(status: LicenseFile['validationStatus']): void;
