import { type APIMessageComponent, type APIMessageTopLevelComponent, type APISelectMenuComponent, type APISelectMenuDefaultValue, type APISelectMenuOption, type JSONEncodable, type SelectMenuDefaultValueType } from "discord.js"; export declare function getDefaultOptionsFromSelectMenus(components: JSONEncodable[], customId?: string | RegExp): APISelectMenuOption[]; export declare function getDefaultValuesFromSelectMenus(components: JSONEncodable[], callback: (selectMenu: APISelectMenuComponent, rowIndex: number) => boolean): APISelectMenuDefaultValue[]; export declare function getDefaultValuesFromSelectMenus(components: JSONEncodable[], customId?: string | RegExp): APISelectMenuDefaultValue[]; /** * The sequence of mapping components from priority to sub components * * How it is received: * `action row` -> `sub components` * * How it is mapped: * `sub components` -> `action row` * * @param callback - You can `return` the `modified component` or `delete it with null`. * @returns A new modified array (the original structure will not be modified) * * @example * ```ts * mapSelectMenus(components, (component, index) => { * // Delete a component * if (component.type !== ComponentType.StringSelect) return null; * // filter components * if (component.placeholder !== "example") return component * // Modify component * component.placeholder = "modified" * // Return modified component * return component; * }); */ export declare function mapSelectMenus(components: (APIMessageComponent | JSONEncodable)[], callback: (menu: U, menuIndex: number) => U | JSONEncodable | null): JSONEncodable[]; export declare function mapSelectMenus(components: (APIMessageComponent | JSONEncodable)[], callback: (menu: U, menuIndex: number) => U | JSONEncodable | null): JSONEncodable[]; export declare function mapSelectMenuOptions = Extract>(components: (APIMessageComponent | JSONEncodable)[], callback: (option: U, optionIndex: number, menuIndex: number, menu: V) => U | JSONEncodable | null): JSONEncodable[]; export declare function mapSelectMenuOptions = Extract>(components: (APIMessageComponent | JSONEncodable)[], callback: (option: U, optionIndex: number, menuIndex: number, menu: V) => U | JSONEncodable | null): JSONEncodable[];