import { BaseManager } from "./BaseManager";
import { TicketData, TicketStatus, TicketTypes } from "../types/types";
/**
 * @external Guild
 * @see {@link https://discord.js.org/#/docs/main/stable/class/Guild}
 */
/**
 * @external GuildMember
 * @see {@link https://discord.js.org/#/docs/main/stable/class/GuildMember}
 */
import { Guild, GuildMember } from "discord.js";
export declare class BaseTicket {
    readonly manager: BaseManager;
    readonly data: TicketData;
    readonly guildId: string;
    readonly channelId: string;
    readonly memberId: string;
    readonly number: number;
    readonly status: TicketStatus;
    readonly type: TicketTypes;
    participants: Array<string>;
    /**
     * @param {TicketManager} manager The Ticket Manager
     * @param {TicketData} data The ticket data
     */
    constructor(manager: BaseManager, data: TicketData);
    /**
     * Ticket's Guild
     * @type {Guild}
     * @readonly
     */
    get guild(): Guild;
    /**
     * Ticket's Member
     * @type {GuildMember}
     * @readonly
     */
    get member(): GuildMember;
}
/**
 * Ticket's Status:
 * * "closed"
 * * "open"
 * @typedef {string} TicketStatus
 */
/**
 * Ticket's channel type:
 * * "thread"
 * * "channel"
 * * "dm"
 * @typedef {string} TicketTypes
 */
/**
 * Ticket Data
 * @typedef {object} TicketData
 * @property {string} guild Discord Guild ID
 * @property {string} member Discord Guild Member ID
 * @property {string} channel Discord Channel ID
 * @property {string} number Ticket's number
 * @property {TicketStatus} status Ticket's status
 * @property {Array<string>} participants Ticket's Participants list
 * @property {TicketTypes} type Ticket's channel type
 */ 
