/**
 * Interactive License Configuration Tool
 *
 * Restores the license gate functionality that was accidentally removed during OpenRouter simplification.
 * Provides interactive prompts for license key input, validation, and tier detection.
 */
import { z } from 'zod';
import * as readline from 'readline';
import { FeatureTier } from '../../core/license-gate.js';
export declare const licenseConfigurationToolName = "license_configuration";
export declare const licenseConfigurationToolDescription = "Interactive license key configuration and validation";
export declare const LicenseConfigurationSchema: z.ZodObject<{
    force_reconfigure: z.ZodDefault<z.ZodBoolean>;
    license_key: z.ZodOptional<z.ZodString>;
    use_modern_gate: z.ZodDefault<z.ZodBoolean>;
    skip_validation: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    force_reconfigure: boolean;
    use_modern_gate: boolean;
    skip_validation: boolean;
    license_key?: string | undefined;
}, {
    license_key?: string | undefined;
    force_reconfigure?: boolean | undefined;
    use_modern_gate?: boolean | undefined;
    skip_validation?: boolean | undefined;
}>;
interface LicenseConfigResult {
    success: boolean;
    tier: FeatureTier;
    message: string;
    features: string[];
    daily_limit?: number;
    user_id?: string;
    error?: string;
}
export declare class LicenseConfigurationWizard {
    private rl;
    private useModernGate;
    private externalReadline;
    constructor(useModernGate?: boolean, existingReadline?: readline.Interface);
    private initializeReadline;
    private prompt;
    /**
     * Main interactive license configuration flow
     */
    configureInteractively(forceReconfigure?: boolean): Promise<LicenseConfigResult>;
    /**
     * Non-interactive license validation
     */
    validateLicenseKey(licenseKey: string, skipValidation?: boolean): Promise<LicenseConfigResult>;
    /**
     * Check if license key already exists
     */
    private checkExistingLicense;
    /**
     * Check for modern encrypted license file
     */
    private checkModernLicenseFile;
    /**
     * Check for legacy license files
     */
    private checkLegacyLicenseFiles;
    /**
     * Validate existing license without prompting
     */
    private validateExistingLicense;
    /**
     * Show license information and pricing
     */
    private showLicenseInformation;
    /**
     * Interactive prompt for license key input with full validation
     */
    private promptForLicenseKey;
    /**
     * Validate license with D1 backend and store locally
     */
    private validateAndStoreLicense;
    /**
     * Store license key securely
     */
    private storeLicenseKey;
    /**
     * Get appropriate license gate instance
     */
    private getLicenseGate;
    close(): void;
}
export declare function runLicenseConfigurationTool(args: z.infer<typeof LicenseConfigurationSchema>): Promise<{
    success: boolean;
    tier: FeatureTier;
    message: string;
    features: string[];
    daily_limit: number | undefined;
    user_id: string | undefined;
    error: string | undefined;
} | {
    success: boolean;
    tier: FeatureTier;
    message: string;
    features: never[];
    error: string;
    daily_limit?: undefined;
    user_id?: undefined;
}>;
/**
 * Quick license status check
 */
export declare function checkLicenseStatus(): Promise<{
    hasLicense: boolean;
    isValid: boolean;
    tier: FeatureTier;
    message: string;
    email?: string;
    version?: string;
}>;
/**
 * CLI helper for license configuration
 */
export declare function configureLicenseFromCLI(): Promise<void>;
export {};
//# sourceMappingURL=license-configuration.d.ts.map