import Block from "./block";
import { ActionRow } from "./typing";
import { ApplicationCommandBooleanOptionData, ApplicationCommandChannelOptionData, ApplicationCommandMentionableOptionData, ApplicationCommandNumericOptionData, ApplicationCommandOptionChoiceData, ApplicationCommandRoleOptionData, ApplicationCommandStringOptionData, ApplicationCommandUserOptionData, ApplicationCommandSubCommandData, ApplicationCommandSubGroupData, AttachmentBuilder, MessageCreateOptions } from "discord.js";
export declare function parseEmbed(embedBlock: Block): {
    type: "embed";
    data: {
        title?: string;
        description: string;
        url?: string;
        color?: number;
        timestamp?: string;
        footer?: {
            text: string;
            icon_url?: string;
            proxy_icon_url?: string;
        };
        image?: {
            url: string;
            proxy_url?: string;
        };
        thumbnail?: {
            url: string;
        };
        fields: {
            name: string;
            value: string;
            inline?: boolean;
        }[];
        author?: {
            name: string;
            url?: string;
            icon_url?: string;
        };
    };
};
export declare function parseComponents(input: Block): ActionRow;
export declare function parseReactions(input: Block): string[];
export declare function parseStickers(input: Block): [string] | [string, string] | [string, string, string];
export declare function parseFiles(input: Block): AttachmentBuilder;
export declare function parseOptions(input: Block): {
    tts?: boolean | undefined;
    message_reference?: {
        message_id: string;
    } | undefined;
    allowed_mentions: {
        parse?: string[];
        roles?: string[];
        users?: string[];
        replied_user?: boolean;
    };
    fetchReply?: boolean | undefined;
    ephemeral?: boolean | undefined;
};
export declare function parseExtraOptions(input: Block): {
    interaction: boolean;
    reactions: string[];
    edits: {
        time: string | number;
        messages: any[];
    };
    deleteIn: number | string;
    deleteCommand: boolean;
};
export declare function parseMessage(ast: Block): MessageCreateOptions;
export declare function parseChatInputChoice<type extends string | number = string | number>(ast: Block): ApplicationCommandOptionChoiceData<type>;
export declare function parseChatInputStringOptions(ast: Block): ApplicationCommandStringOptionData;
export declare function parseChatInputUserRoleMentionableOptions(ast: Block): ApplicationCommandUserOptionData | ApplicationCommandRoleOptionData | ApplicationCommandMentionableOptionData;
export declare function parseChatInputChannelOptions(ast: Block): ApplicationCommandChannelOptionData;
export declare function parseChatInputBooleanOptions(ast: Block): ApplicationCommandBooleanOptionData;
export declare function parseChatInputNumberOptions(ast: Block): ApplicationCommandNumericOptionData;
export declare function parseChatInputSubCommandOptions(ast: Block): ApplicationCommandSubCommandData;
export declare function parseChatInputSubCommandGroupOptions(ast: Block): ApplicationCommandSubGroupData;
//# sourceMappingURL=components.d.ts.map