import { TicketManager } from "./TicketManager";
import { TicketData } from "../types/types";
import { BaseTicket } from "../Base/BaseTicket";
/**
 * @external GuildMember
 * @see {@link https://discord.js.org/#/docs/main/stable/class/GuildMember}
 */
/**
 * @external TextChannel
 * @see {@link https://discord.js.org/#/docs/main/stable/class/TextChannel}
 */
import { GuildMember, TextChannel } from "discord.js";
/**
 * Represents a Ticket
 * @extends {BaseTicket}
 */
export declare class TextTicket extends BaseTicket {
    readonly manager: TicketManager;
    /**
     * @param {TicketManager} manager The Ticket Manager
     * @param {TicketData} data The ticket data
     */
    constructor(manager: TicketManager, data: TicketData);
    /**
     * Ticket's Channel
     * @type {TextChannel}
     * @readonly
     */
    get channel(): TextChannel;
    /**
     * Close Ticket
     * @return {Promise<void>}
     */
    close(): Promise<void>;
    /**
     * Rename Ticket
     * @param {string} name New ticket's name (name-0000)
     * @return {Promise<void>}
     */
    rename(name: string): Promise<void>;
    /**
     * Delete Ticket
     * @return {Promise<void>}
     */
    delete(): Promise<void>;
    /**
     * ReOpen Ticket
     * @return {Promise<void>}
     */
    reopen(): Promise<void>;
    /**
     * Add GuildMember to Ticket
     * @param {GuildMember} member Discord Guild Member
     * @return {Promise<any>}
     */
    addMember(member: GuildMember): Promise<any>;
    /**
     * Remove GuildMember from Ticket
     * @param {GuildMember} member Discord Guild Member
     * @return {Promise<any>}
     */
    removeMember(member: GuildMember): Promise<any>;
}
