import FormData from 'form-data'; import { Client } from '../../Client'; import { ContentManagementMember, ContentManagementMemberRequest, MemberResetPasswordToken } from '../../Responses'; /** * MemberManagementClient is used to access the Member part of the Content Management API. * @public * * @example * The {@link MemberManagementClient} must be accessed through {@link Client}. * * ```typescript * import { Client } from '@umbraco/headless-client' * * const client = new Client({ * projectAlias: '', * apiKey: '', * language: '', * }) * * const memberClient = client.management.member * ``` */ export declare class MemberManagementClient { private readonly client; /** * @internal */ constructor(client: Client); private readonly makeRequest; /** * Find member by membername. * @param username - Username for the member querying for. * @returns a `Promise` that resolves to a {@link ContentManagementMember} if found, otherwise `undefined`. */ byUsername(username: string): Promise; /** * Create a new member. * @param data - Data for creating a new member. * @returns a `Promise` that resolves to the newly created {@link ContentManagementMember}. */ create(data: ContentManagementMemberRequest | FormData): Promise; /** * Update member by username. * @param username - Username for the member to be updated. * @param data - Data for the member to be updated. * @returns a `Promise` that resolves to a {@link ContentManagementMember} of the updated Member item if found, otherwise `undefined`. */ update(username: string, data: ContentManagementMemberRequest | FormData): Promise; /** * Add member to group. * @deprecated Use {@link MemberManagementClient.addToGroup | addToGroup()} instead. * @param username - Username of the member. * @param group - Name of the group the member should be added to. */ addGroup(username: string, group: string): Promise; /** * Add member to group. * @param username - Username of the member. * @param group - Name of the group the member should be added to. */ addToGroup(username: string, groupName: string): Promise; /** * Remove member from group. * @deprecated Use {@link MemberManagementClient.removeFromGroup | removeFromGroup()} instead. * @param username - Username of the member. * @param group - Name of the group the member should be removed from. */ removeGroup(username: string, group: string): Promise; /** * Remove member from group. * @param username - Username of the member. * @param group - Name of the group the member should be removed from. */ removeFromGroup(username: string, groupName: string): Promise; /** * Delete a member. * @param username - Username for the member that needs to be deleted. */ delete(username: string): Promise; /** * Change a members password. * @param username - Username for the member. * @param currentPassword - The current password. * @param newPassword - The new password. * @returns a `Promise` that resolves to a {@link ContentManagementMember} if found and password is updated, otherwise `undefined`. */ changePassword(username: string, currentPassword: string, newPassword: string): Promise; /** * Create a reset tokon that can be used to reset the members password. * @param username - Username for the member. * @returns a `Promise` that resolves to a {@link MemberResetPasswordToken} if found, otherwise `undefined`. */ createResetPasswordToken(username: string): Promise; /** * Resets the members password using a reset token obtained via. {@link MemberManagementClient.createResetPasswordToken | createResetPasswordToken()}. * @param username - Username for the member. * @param token - The password reset token. * @param newPassword - The new password. * @returns a `Promise` that resolves to a {@link ContentManagementMember} if found and password is updated, otherwise `undefined`. */ resetPassword(username: string, token: string, newPassword: string): Promise; }