/**
 * API response interfaces matching the ailock-web Edge Functions
 */
export interface AuthRedeemResponse {
    success: boolean;
    error?: string;
    user_id?: string;
    directory_quota?: number;
    is_first_activation?: boolean;
    message?: string;
}
export interface UsageTrackingResponse {
    success: boolean;
    error?: string;
}
export interface UserStatusResponse {
    success: boolean;
    error?: string;
    directory_quota?: number;
    available_codes?: number;
    is_activated?: boolean;
}
/**
 * Event types for usage tracking
 */
export type UsageEventType = 'lock_attempt_blocked' | 'directory_locked' | 'directory_unlocked' | 'status_check';
/**
 * CLI API service for integration with ailock-web growth system
 */
export declare class CliApiService {
    private baseUrl;
    private timeout;
    private maxRetries;
    constructor(options?: {
        baseUrl?: string;
        timeout?: number;
        maxRetries?: number;
    });
    /**
     * Check if we're in offline mode or should skip API calls
     */
    private shouldSkipApiCall;
    /**
     * Make HTTP request with timeout and retry logic
     */
    private makeRequest;
    /**
     * Redeem an auth code to increase directory quota
     */
    redeemAuthCode(code: string): Promise<AuthRedeemResponse>;
    /**
     * Track usage events for analytics
     */
    trackUsage(eventType: UsageEventType, data?: {
        directoryPath?: string;
        totalLockedCount?: number;
        metadata?: Record<string, any>;
    }): Promise<UsageTrackingResponse>;
    /**
     * Get user status including quota and available codes
     */
    getUserStatus(authCode?: string): Promise<UserStatusResponse>;
    /**
     * Test API connectivity
     */
    testConnectivity(): Promise<boolean>;
    /**
     * Get API configuration info for debugging
     */
    getApiInfo(): {
        baseUrl: string;
        timeout: number;
        maxRetries: number;
    };
}
export declare function getApiService(): CliApiService;
/**
 * Create a custom API service instance (useful for testing)
 */
export declare function createApiService(options?: {
    baseUrl?: string;
    timeout?: number;
    maxRetries?: number;
}): CliApiService;
//# sourceMappingURL=CliApiService.d.ts.map