import TinyHtmlInput from '../../TinyHtmlInput.mjs';
/**
* TinyHtmlButtonInput is a helper class for managing `` elements.
* It provides validation and easy configuration for standard and button-specific attributes.
*
* @example
* const button = new TinyHtmlButtonInput({
* value: 'Click me',
* name: 'myButton',
* popovertarget: 'popoverId',
* popovertargetaction: 'toggle'
* });
*/
declare class TinyHtmlButtonInput extends TinyHtmlInput {
/**
* Creates a new TinyHtmlButtonInput instance.
* @param {Object} config - Configuration object.
* @param {string} [config.name] - The name of the input.
* @param {string} [config.placeholder] - Placeholder text (non-standard for buttons).
* @param {string} [config.popovertarget] - The ID of the target popover.
* @param {"show"|"hide"|"toggle"} [config.popovertargetaction] - The action applied to the popover.
* @param {string} [config.value="Button"] - The label displayed on the button.
* @param {boolean} [config.readonly=false] - Whether the input is read-only.
* @param {boolean} [config.required=false] - Whether the input is required.
* @param {string|string[]|Set} [config.tags=[]] - Initial CSS classes.
* @param {string} [config.mainClass=''] - Main CSS class applied.
* @throws {TypeError} If attributes are of the wrong type.
*/
constructor({ value, tags, placeholder, popovertarget, popovertargetaction, readonly, required, name, mainClass, }?: {
name?: string;
placeholder?: string;
popovertarget?: string;
popovertargetaction?: "show" | "hide" | "toggle";
value?: string;
readonly?: boolean;
required?: boolean;
tags?: string | string[] | Set;
mainClass?: string;
});
/** @param {string} value */
set value(value: string);
/** @returns {string|null} */
get value(): string | null;
/** @param {string} popovertarget */
set popovertarget(popovertarget: string);
/** @returns {string|null} */
get popovertarget(): string | null;
/** @param {"show"|"hide"|"toggle"} action */
set popovertargetaction(action: "show" | "hide" | "toggle");
/** @returns {string|null} */
get popovertargetaction(): string | null;
}
export default TinyHtmlButtonInput;
//# sourceMappingURL=TinyHtmlButtonInput.d.mts.map