import { BaseLMSAction } from '../../base/base-lms.action';
import { UserInfo } from '@memberjunction/core';
/**
 * Base class for all LearnWorlds LMS actions.
 * Handles LearnWorlds-specific authentication and API interaction patterns.
 */
export declare abstract class LearnWorldsBaseAction extends BaseLMSAction {
    protected lmsProvider: string;
    protected integrationName: string;
    /**
     * LearnWorlds API version
     */
    protected apiVersion: string;
    /**
     * Current action parameters (set by the framework)
     */
    protected params: any;
    /**
     * Makes an authenticated request to LearnWorlds API
     */
    protected makeLearnWorldsRequest<T = any>(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE', body?: any, contextUser?: UserInfo): Promise<T>;
    /**
     * Makes a paginated request to LearnWorlds API
     */
    protected makeLearnWorldsPaginatedRequest<T = any>(endpoint: string, params?: Record<string, any>, contextUser?: UserInfo): Promise<T[]>;
    /**
     * Convert LearnWorlds date format to Date object
     */
    protected parseLearnWorldsDate(dateString: string | number): Date;
    /**
     * Format date for LearnWorlds API (ISO 8601)
     */
    protected formatLearnWorldsDate(date: Date): string;
    /**
     * Map LearnWorlds user status to standard status
     */
    protected mapUserStatus(status: string): 'active' | 'inactive' | 'suspended';
    /**
     * Map LearnWorlds enrollment status
     */
    protected mapLearnWorldsEnrollmentStatus(enrollment: any): 'active' | 'completed' | 'expired' | 'suspended';
    /**
     * Calculate progress from LearnWorlds data
     */
    protected calculateProgress(progressData: any): {
        percentage: number;
        completedUnits: number;
        totalUnits: number;
        timeSpent: number;
    };
}
//# sourceMappingURL=learnworlds-base.action.d.ts.map