import { LearnWorldsBaseAction } from '../learnworlds-base.action.js';
import { ActionParam, ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
import { UserInfo } from '@memberjunction/core';
import { GetCertificatesParams, GetCertificatesResult } from '../interfaces/index.js';
/**
 * Action to retrieve certificates earned by users in LearnWorlds
 */
export declare class GetCertificatesAction extends LearnWorldsBaseAction {
    /**
     * Get certificates for a user or course.
     * Throws on any error.
     */
    GetCertificates(params: GetCertificatesParams, contextUser: UserInfo): Promise<GetCertificatesResult>;
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    private extractCertificatesParams;
    private buildCertificatesEndpoint;
    private buildQueryString;
    private extractCertificatesArray;
    private processCertificates;
    /**
     * Extracts inline user info when the cert already includes user data.
     */
    private extractInlineUserInfo;
    /**
     * Extracts inline course info when the cert already includes course data.
     */
    private extractInlineCourseInfo;
    /**
     * Batch-fetches user info for all certificates that need external lookup.
     * Returns a map from userId to user info.
     */
    private batchResolveUserInfo;
    /**
     * Batch-fetches course info for all certificates that need external lookup.
     * Returns a map from courseId to course info.
     */
    private batchResolveCourseInfo;
    private buildBaseCertificate;
    private buildCertificatesSummary;
    private groupCertificatesByCourse;
    private groupCertificatesByUser;
    /**
     * Define the parameters this action expects
     */
    get Params(): ActionParam[];
    /**
     * Metadata about this action
     */
    get Description(): string;
}
//# sourceMappingURL=get-certificates.action.d.ts.map