import type { TLicenseManagerConfig, TEntitlement, TFeatures, TLicenseBlock } from '@n8n_io/license-sdk';
import { X509Certificate } from 'node:crypto';
export declare class LicenseManager {
    config: TLicenseManagerConfig;
    private MANUALLY_DISABLED_FEATURES;
    private initialized;
    private readonly licenseCert;
    private readonly currentFeatures;
    constructor(config: TLicenseManagerConfig);
    private generateUUID;
    private generateSecureToken;
    private generateJWT;
    get isInitialized(): boolean;
    private createEntitlement;
    initialize(): Promise<void>;
    _doInitialization(): Promise<void>;
    clearSingleTimer(): void;
    setupRepeatingTimer(): NodeJS.Timeout;
    clearRepeatingTimer(): void;
    reload(): Promise<void>;
    reset(): Promise<void>;
    computeDeviceFingerprint(): Promise<string>;
    activate(_reservationId: string, _eulaUri?: string): Promise<void>;
    renew(): Promise<void>;
    hasCert(): boolean;
    isTerminated(): boolean;
    getExpiryDate(): Date;
    getTerminationDate(): Date;
    isValid(): boolean;
    hasFeatureEnabled(feature: string): boolean;
    getFeatureValue(feature: string): boolean | number | string | undefined;
    getFeatures(): TFeatures;
    getCurrentEntitlements(): TEntitlement[];
    getManagementJwt(): string;
    getCertStr(): Promise<TLicenseBlock>;
    getConsumerId(): string;
    isRenewalDue(): boolean;
    toString(): string;
    getIssuerCert(): X509Certificate;
    clear(): Promise<void>;
    shutdown(): Promise<void>;
    enableAutoRenewals(): void;
    disableAutoRenewals(): void;
}
