/*!
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */
import { APIModalInteractionResponseCallbackData } from "discord-api-types/v10.js";
import { AwaitModalSubmitOptions, CommandInteraction, ContextMenuCommandInteraction, JSONEncodable, MessageComponentInteraction, ModalComponentData, ModalSubmitInteraction } from "discord.js";
import { ExtraCommandReplyInteractionOptions } from "../types/types.js";
import { RexModalSubmitInteraction } from "./modal/modalSubmit.js";
import { RexReplyInteractionBase } from "./replyBase.js";
type interactions = CommandInteraction | ContextMenuCommandInteraction | MessageComponentInteraction;
export declare class RexReplyModalInteractionBase extends RexReplyInteractionBase {
    inter: interactions;
    constructor(inter: interactions, opt?: ExtraCommandReplyInteractionOptions);
    /**
     * Shows a modal component
     * @param modal The modal to show
     * @returns {Promise<void>}
     */
    showModal(modal: JSONEncodable<APIModalInteractionResponseCallbackData> | ModalComponentData | APIModalInteractionResponseCallbackData): Promise<void>;
    /**
     * Collects a single modal submit interaction that passes the filter. The Promise will reject if the time expires.
     * @param options Options to pass to the internal collector
     * @returns ModalInteraction
     */
    awaitModalSubmit(options: AwaitModalSubmitOptions<ModalSubmitInteraction>): Promise<RexModalSubmitInteraction>;
}
export {};
