import { LearnWorldsBaseAction } from '../learnworlds-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
import { UserInfo } from '@memberjunction/core';
import { GetCourseDetailsParams, GetCourseDetailsResult } from '../interfaces/index.js';
/**
 * Action to retrieve comprehensive course details including curriculum structure
 */
export declare class GetLearnWorldsCourseDetailsAction extends LearnWorldsBaseAction {
    /**
     * Metadata about this action
     */
    get Description(): string;
    /**
     * Typed public method for direct (non-framework) callers.
     * Sets company context, fetches course details, and returns a strongly-typed result.
     * Throws on error.
     */
    GetCourseDetails(params: GetCourseDetailsParams, contextUser: UserInfo): Promise<GetCourseDetailsResult>;
    /**
     * Framework entry-point – thin wrapper around the typed public method.
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Extract typed params from framework ActionParam[]
     */
    private extractGetCourseDetailsParams;
    /**
     * Build the base course details from raw API data
     */
    private buildCourseDetails;
    /**
     * Fetch and attach modules/curriculum to course details
     */
    private attachModules;
    /**
     * Fetch and attach instructors to course details
     */
    private attachInstructors;
    /**
     * Fetch and attach stats to course details
     */
    private attachStats;
    /**
     * Format course modules/sections data
     */
    private formatModules;
    /**
     * Format lesson data within a module
     */
    private formatLessons;
    /**
     * Format instructor data
     */
    private formatInstructors;
    /**
     * Build a summary from the course details
     */
    private buildCourseSummary;
    /**
     * Define the parameters this action expects
     */
    get Params(): ActionParam[];
}
//# sourceMappingURL=get-course-details.action.d.ts.map