import { GroupRole } from "../common";
import { User } from "./user";
import { GroupEventMap } from "./group";
type Client = import("../client").Client;
/** 群员事件(= {@link GroupEventMap}) */
export interface MemberEventMap extends GroupEventMap {
}
/** @ts-ignore ts(2417) 群员 */
export declare class GroupMember extends User {
    readonly gid: number;
    private _info?;
    uid: string;
    static as(this: Client, gid: number, uid: number, strict?: boolean): GroupMember;
    /** 群员资料 */
    get info(): GroupMember.Info | undefined;
    /** {@link gid} 的别名 */
    get group_id(): number;
    /** 名片 */
    get card(): string | undefined;
    /** 头衔 */
    get title(): string | undefined;
    /** 是否是我的好友 */
    get is_friend(): boolean;
    /** 是否是群主 */
    get is_owner(): boolean;
    /** 是否是管理员 */
    get is_admin(): boolean;
    /** 禁言剩余时间 */
    get mute_left(): number;
    /** 返回所在群的实例 */
    get group(): import("./group").Group;
    protected constructor(c: Client, gid: number, uin: number, _info?: GroupMember.Info | undefined);
    /** 强制刷新群员资料 */
    renew(): Promise<GroupMember.Info>;
    /**
     * 设置/取消管理员
     * @param yes 是否设为管理员
     */
    setAdmin(yes?: boolean): Promise<boolean>;
    /**
     * 设置头衔
     * @param title 头衔名
     * @param duration 持续时间，默认`-1`，表示永久
     */
    setTitle(title?: string, duration?: number): Promise<boolean>;
    /**
     * 修改名片
     * @param card 名片
     */
    setCard(card?: string): Promise<boolean>;
    /**
     * 踢出群
     * @param msg @todo 未知参数
     * @param block 是否屏蔽群员
     */
    kick(msg?: string, block?: boolean): Promise<boolean>;
    /**
     * 禁言
     * @param duration 禁言时长（秒），默认`1800`
     */
    mute(duration?: number): Promise<void>;
    /** 戳一戳 */
    poke(): Promise<boolean>;
    /**
     * 是否屏蔽该群成员消息
     * @param isScreen
     */
    setScreenMsg(isScreen?: boolean): Promise<boolean>;
    /**
     * 加为好友
     * @param comment 申请消息
     */
    addFriend(comment?: string): Promise<void>;
}
export declare namespace GroupMember {
    interface Info extends User.Info {
        /** 所在群号 */
        group_id: number;
        /** 群名片 */
        card: string;
        /** 年龄 */
        age?: number;
        /** 地区 */
        area?: string;
        /** 入群时间 */
        join_time: number;
        /** 上次发言时间 */
        last_sent_time: number;
        /** 聊天等级 */
        level: number;
        /** 聊天排名 */
        rank?: string;
        /** 群权限 */
        role: GroupRole;
        /** 头衔 */
        title?: string;
        /** 头衔到期时间 */
        title_expire_time?: number;
        /** 禁言时间 */
        shutup_time?: number;
        /** 群员信息更新时间 */
        update_time?: number;
    }
}
export {};
