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 declare 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 declare type DeleteResolve = {
    type?: 'Delete';
    channelId?: string;
    user?: User;
    data?: AttachmentBuilder;
};
/**
 * A Ticket Handler for **simplydjs ticket system.**
 * @param button
 * @param options
 * @link `Documentation:` https://simplyd.js.org/docs/handler/manageTicket
 * @example simplydjs.manageTicket(interaction)
 */
export declare function manageTicket(button: ButtonInteraction, options?: manageTicketOptions): Promise<DeleteResolve>;
