import type { RequestHandler } from '#services/request-handler/request-handler.types';
import type { Logger } from '#services/logger/logger.types';
import type { AccessTokenManager } from '#services/access-token-manager/access-token-manager.service';
import type { LaunchContext } from '#services/launch/launch-context.service';
import type { GetMembersOptions, Memberships } from '#services/names-and-roles/names-and-roles.types';
export declare class NamesAndRoles {
    private readonly LOG_COMPONENT;
    private readonly NRPS_ACCEPT;
    private readonly ROLE_PARAM;
    private readonly LIMIT_PARAM;
    private readonly RESOURCE_LINK_ID_PARAM;
    private readonly launchContext;
    private readonly accessTokenManager;
    private readonly requestHandler;
    private readonly logger;
    constructor(launchContext: LaunchContext, accessTokenManager: AccessTokenManager, requestHandler: RequestHandler, logger: Logger);
    /** Whether this launch declared NRPS support. Check before calling any other method on this service. */
    isAvailable(): boolean;
    getMembers(options?: GetMembersOptions): Promise<Memberships>;
    private ensureServiceAvailability;
    private resolveNumberOfPages;
    private buildMembershipsRequest;
    private fetchPages;
    private fetchPage;
}
export default NamesAndRoles;
