import { LearnWorldsBaseAction } from '../learnworlds-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
import { UserInfo } from '@memberjunction/core';
import { GetUserDetailsParams, GetUserDetailsResult } from '../interfaces/index.js';
/**
 * Action to retrieve detailed information about a specific LearnWorlds user
 */
export declare class GetLearnWorldsUserDetailsAction extends LearnWorldsBaseAction {
    /**
     * Description of the action
     */
    get Description(): string;
    /**
     * Typed public method for direct (non-framework) callers.
     * Throws on failure.
     */
    GetUserDetails(params: GetUserDetailsParams, contextUser: UserInfo): Promise<GetUserDetailsResult>;
    /**
     * Framework entry point -- delegates to the typed public method.
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Extract typed params from the generic ActionParam array
     */
    private extractGetUserDetailsParams;
    /**
     * Map LearnWorlds user data to detailed interface
     */
    private mapUserDetails;
    /**
     * Fetch and attach enrollment data to userDetails.
     */
    private loadEnrollments;
    /**
     * Fetch and merge additional stats into userDetails.
     */
    private loadStats;
    /**
     * Map raw enrollment data to our typed UserDetailEnrollment
     */
    private mapEnrollment;
    /**
     * Calculate enrollment statistics from the enrollment list (pure — no mutation).
     */
    private calculateEnrollmentStats;
    /**
     * Extract statistics from the stats response (pure — no mutation).
     */
    private extractStatistics;
    /**
     * Create a summary of user information
     */
    private createUserSummary;
    /**
     * Define the parameters for this action
     */
    get Params(): ActionParam[];
}
//# sourceMappingURL=get-user-details.action.d.ts.map