import { LearnWorldsBaseAction } from '../learnworlds-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
import { UserInfo } from '@memberjunction/core';
import { GetUserProgressParams, GetUserProgressResult } from '../interfaces/index.js';
/**
 * Action to retrieve detailed progress information for a LearnWorlds user
 */
export declare class GetLearnWorldsUserProgressAction extends LearnWorldsBaseAction {
    /**
     * Description of the action
     */
    get Description(): string;
    /**
     * Typed public method for direct (non-framework) callers.
     * Sets company context, fetches progress, and returns a strongly-typed result.
     * Throws on error.
     */
    GetUserProgress(params: GetUserProgressParams, contextUser: UserInfo): Promise<GetUserProgressResult>;
    /**
     * Framework entry-point – thin wrapper around the typed public method.
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Extract typed params from framework ActionParam[]
     */
    private extractGetUserProgressParams;
    /**
     * Get progress for a specific course
     */
    private getCourseProgress;
    /**
     * Get progress for all user courses
     */
    private getAllCoursesProgress;
    /**
     * Aggregate individual course progress into overall user learning progress
     */
    private aggregateCourseProgress;
    /**
     * Map course progress data from API response
     */
    private mapCourseProgress;
    /**
     * Map unit progress data from API response
     */
    private mapUnitProgress;
    /**
     * Map lesson progress data from API response
     */
    private mapLessonProgress;
    /**
     * Determine course status from data
     */
    private determineCourseStatus;
    /**
     * Determine unit status
     */
    private determineUnitStatus;
    /**
     * Map lesson type string to typed union
     */
    private mapLessonType;
    /**
     * Calculate estimated time to complete
     */
    private calculateEstimatedTimeToComplete;
    /**
     * Calculate learning analytics and return the computed values (no mutation).
     */
    private calculateLearningAnalytics;
    /**
     * Create progress summary
     */
    private createProgressSummary;
    private buildProgressOverview;
    private buildPerformanceMetrics;
    private buildAchievementsSummary;
    /**
     * Define the parameters for this action
     */
    get Params(): ActionParam[];
}
//# sourceMappingURL=get-user-progress.action.d.ts.map