import type { CapCheckResult, CapType, LicenseStatus } from './types.js';
export declare class LicenseManager {
    private readonly keyPath;
    private readonly trialPath;
    private readonly stateDir;
    private status;
    constructor(stateDir?: string);
    getStatus(): LicenseStatus;
    activate(keyData: string): LicenseStatus;
    deactivate(): void;
    /**
     * Check whether `current` usage is approaching or at the cap for `type`.
     * Returns null if unlimited (Infinity cap) or if still under 80%.
     */
    checkCap(type: CapType, current: number): CapCheckResult | null;
    private loadAndValidate;
    /**
     * Auto-issued local trial. Every install gets 30 days of Pro caps the first
     * time it boots without an activated key — this keeps the runtime usable
     * while signup/activation flows run, and avoids "catalog degraded" surfaces
     * dropping users into a broken-looking shell when the website is briefly
     * unreachable. Set NEXUS_DISABLE_TRIAL=1 to opt out.
     */
    private resolveTrialStatus;
    /** Returns the path of the trial marker (for tests + status surfaces). */
    getTrialMarkerPath(): string;
    private parseAndVerify;
}
export declare function getSharedLicenseManager(): LicenseManager;
/** Reset the singleton (for tests only). */
export declare function _resetSharedLicenseManager(): void;
