///
import { Prompt, PromptCollector, Rejection, VisualGenerator, VisualInterface, PromptFunction } from "prompt-anything";
import { EventEmitter } from 'events';
import { DiscordChannel } from "./DiscordChannel";
import { MessageVisual } from "./visuals/MessageVisual";
import { MenuEmbed } from './MenuEmbed';
import { Message } from 'discord.js';
export declare type BaseData = {
__authorID: string;
};
export declare class DiscordPrompt extends Prompt {
constructor(visualGenerator: VisualGenerator | VisualInterface, f?: PromptFunction, duration?: number);
/**
* Generate a MessageVisual to send based on the rejection thrown
*
* @param error The rejection thrown
* @param message The message that triggered the rejection
* @param channel The channel this rejection is to be sent to
* @param data The data from the prompt
*/
static getRejectVisual(error: Rejection, message?: Message, channel?: DiscordChannel, data?: DataType): Promise;
/**
* Auto-generate the rejection on an invalid menu selection
*
* @param message The message that triggered this rejection
* @param data The data from the prompt
* @param menu The MenuEmbed that this prompt's visual component was created with
*/
static createMenuRejection(message?: Message, data?: DataType, menu?: MenuEmbed): Rejection;
onReject(error: Rejection, message: Message, channel: DiscordChannel, data: DataType): Promise;
createEmitter(): EventEmitter;
createCollector(channel: DiscordChannel, data: DataType & BaseData): PromptCollector;
handleMessage(message: Message, data: DataType, emitter: PromptCollector): Promise;
handleMenuMessage(message: Message, data: DataType, menu: MenuEmbed, emitter: PromptCollector): void;
}