import { Client, Sendable } from "..";
import { pb } from "../core";
import { Channel } from "../entiries/channel";
import { GuildMember } from "../entiries/guildMember";
/** 频道 */
export declare class Guild {
    readonly c: Client;
    readonly guild_id: string;
    /** 频道名 */
    guild_name: string;
    /** 子频道字典 */
    channels: Map<string, Channel>;
    constructor(c: Client, guild_id: string);
    static as(this: Client, guild_id: string): Guild;
    /**
     * 发送消息
     * @param channel_id 子频道id
     * @param message 消息内容
     */
    sendMsg(channel_id: string, message: Sendable): Promise<void>;
    _renew(guild_name: string, proto: pb.Proto | pb.Proto[]): void;
    /** 获取频道成员列表 */
    getMemberList(): Promise<GuildMember[]>;
}
export declare namespace Guild {
    interface Info {
        guild_id: string;
        guild_name: string;
    }
    enum Role {
        /** 成员 */
        Member = 1,
        /** 频道管理员 */
        GuildAdmin = 2,
        /** 频道主 */
        Owner = 4,
        /** 子频道管理员 */
        ChannelAdmin = 5
    }
}
