import type { BaseLogger } from 'pino'; import type { LTISession } from '../interfaces/ltiSession.js'; import type { LTIStorage } from '../interfaces/ltiStorage.js'; import type { TokenService } from './token.service.js'; /** * Names and Role Provisioning Services (NRPS) implementation for LTI 1.3. * Provides methods to retrieve course membership and user information from the platform. * * @see https://www.imsglobal.org/spec/lti-nrps/v2p0 */ export declare class NRPSService { private tokenService; private storage; private logger; /** * Creates a new NRPSService instance. * * @param tokenService - Token service for obtaining OAuth2 bearer tokens * @param storage - Storage adapter for retrieving launch configurations * @param logger - Logger instance for debug and error logging */ constructor(tokenService: TokenService, storage: LTIStorage, logger: BaseLogger); /** * Retrieves all members (users) in the current course/context from the platform. * Returns raw response that should be parsed by the calling service. * * @param session - Active LTI session containing NRPS service endpoints * @returns Promise resolving to the HTTP response containing membership data * @throws {Error} When NRPS is not available for this session or request fails * * @example * ```typescript * const response = await nrpsService.getMembers(session); * const data = await response.json(); * console.log('Course members:', data.members); * ``` */ getMembers(session: LTISession): Promise; private getNRPSToken; private validateNRPSResponse; } //# sourceMappingURL=nrps.service.d.ts.map