export declare enum LicenseLevel {
    FREE = "free",
    BASIC = "basic",
    PREMIUM = "premium"
}
export interface LicenseFeatures {
    allowedCategories: string[];
    maxRequests: number;
    n8nIntegration: boolean;
    smartleadApiAccess: boolean;
}
export interface LicenseValidationResult {
    valid: boolean;
    level: LicenseLevel;
    features: LicenseFeatures;
    message: string;
    usageCount: number;
}
export interface FeatureRequestToken {
    token: string;
    expires: number;
}
/**
 * Validate a license key
 * @param licenseKey Optional: license key to validate (primarily uses env var)
 * @returns License validation result
 */
export declare function validateLicense(): Promise<LicenseValidationResult>;
/**
 * Get a token for server-side feature validation
 * This adds security since critical operations will need server validation
 */
export declare function getFeatureToken(): Promise<FeatureRequestToken | null>;
/**
 * Track usage for a license
 * @param licenseKey The license key
 * @param toolName The tool being used
 */
export declare function trackUsage(licenseKey?: string, toolName?: string): Promise<void>;
/**
 * Check if a feature is available in the current license
 * @param feature The feature to check
 * @returns Whether the feature is available
 */
export declare function isFeatureEnabled(feature: keyof LicenseFeatures): Promise<boolean>;
/**
 * Check if a category is available in the current license
 * @param category The category to check
 * @returns Whether the category is available
 */
export declare function isCategoryEnabled(category: string): Promise<boolean>;
/**
 * Get the current license information
 * @returns Current license information
 */
export declare function getLicenseInfo(): Promise<LicenseValidationResult>;
/**
 * Print a summary of the current license status to the console
 * This is useful for displaying on server startup
 */
export declare function printLicenseStatus(): Promise<void>;
