import UserPermissions from '../Permissions/UserPermissions';
import RequestEmitter, { requestParams } from '../utils/RequestEmitter';
import BlockManager from './BlockManager';
import FollowManager from './FollowManager';
import type { successResponse, uploadFiles } from './Interfaces/Global';
import type { editInformationsParams, editInformationsResponse } from './Interfaces/Me';
import type { searchUsers, searchUsersParams } from './Interfaces/Search';
import type { profileInformations } from './Interfaces/User';
declare class UserManager extends RequestEmitter {
    block: BlockManager;
    follow: FollowManager;
    constructor(params: requestParams);
    flags(bits?: string): UserPermissions;
    avatar(user_id: string, avatar: string): string;
    banner(user_id: string, banner: string): string;
    badge(flag_name: string): string;
    profile(nickname: string): Promise<profileInformations>;
    report(target_id: string, reason: number, description?: string): Promise<successResponse>;
    search(query: string, params?: searchUsersParams): Promise<searchUsers>;
    uploadAvatar(files: Blob): Promise<uploadFiles>;
    uploadBanner(files: Blob): Promise<uploadFiles>;
    edit(options: editInformationsParams): Promise<editInformationsResponse>;
    logout(): Promise<successResponse>;
}
export default UserManager;
