import { Member, Channel, Role, Client, BaseData } from "../index";
import { Base } from "../internal/Base";
import { Manager } from "../internal/Manager";
/** Guild object */
export declare class Guild extends Base {
    #private;
    readonly id: string;
    readonly name: string;
    readonly ownerId: string;
    readonly memberCount: number;
    readonly joinedAt: Date;
    readonly members: Manager<Member>;
    constructor(data: BaseData, client: Client);
    get iconURL(): string;
    /**
     * Get the current user's member object in this guild
     * @returns The member object
     */
    get me(): Member;
    /**
     * Get the roles in the guild
     * @returns An array of roles
     */
    get roles(): Role[];
    /**
     * Get the channels in the guild
     * @returns An array of channels
     */
    get channels(): Channel[];
    /**
     * Leave the guild
     */
    leave(): Promise<void>;
}
