import UserPermissions from '../Permissions/UserPermissions';
import RequestEmitter, { requestParams } from '../utils/RequestEmitter';
import BlockManager from './BlockManager';
import FollowManager from './FollowManager';
import type { GlobalInterface, MeInterface, SearchInterface, UserInterface } from './Interfaces';
declare class UserManager extends RequestEmitter {
    block: BlockManager;
    follow: FollowManager;
    private cdnurl;
    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<UserInterface.profileInformations>;
    report(target_id: string, reason: number, description?: string): Promise<GlobalInterface.successResponse>;
    search(query: string, pagination_key?: string): Promise<SearchInterface.searchUsers>;
    uploadAvatar(files: Blob): Promise<GlobalInterface.uploadFiles>;
    uploadBanner(files: Blob): Promise<GlobalInterface.uploadFiles>;
    edit(options: MeInterface.editInformationsParams): Promise<MeInterface.editInformationsResponse>;
    logout(): Promise<GlobalInterface.successResponse>;
}
export default UserManager;
