import { AttachmentBuilder, ButtonInteraction, Role, User } from 'discord.js'; import { CustomizableButton, CustomizableEmbed } from '../typedef'; /** * **Documentation Url** of the type: https://simplyd.js.org/docs/handler/manageTicket#ticketbuttons */ export interface TicketButtons { close: CustomizableButton; reopen: CustomizableButton; delete: CustomizableButton; transcript: CustomizableButton; } /** * **Documentation Url** of the options: https://simplyd.js.org/docs/handler/manageTicket#manageticketoptions */ export type manageTicketOptions = { ticketname?: string; buttons?: TicketButtons; pingRoles?: Role[] | string[]; category?: string; embed?: CustomizableEmbed; logChannelId?: string; strict?: boolean; }; /** * **Documentation Url** of the resolve: https://simplyd.js.org/docs/handler/manageTicket#deleteresolve */ export type DeleteResolve = { type?: 'Delete'; channelId?: string; user?: User; data?: AttachmentBuilder; }; /** * ##manageTicket * ### A Ticket Handler for **simplydjs ticket system.** * @param {ButtonInteraction} button [`ButtonInteraction`](https://old.discordjs.dev/#/docs/discord.js/main/class/ButtonInteraction) * @param {manageTicketOptions} options [`manageTicketOptions`](https://simplyd.js.org/docs/handler/managesuggest#managesuggestoptions) * @returns {Promise} [`DeleteResolve`](https://simplyd.js.org/docs/handler/managesuggest#deleteresolve) * * --- * * @link [`Documentation`](https://simplyd.js.org/docs/handler/manageTicket) * @example simplydjs.manageTicket(interaction) */ export declare function manageTicket(button: ButtonInteraction, options?: manageTicketOptions): Promise;