import HTMLElement from '../html-element/HTMLElement.js';
import * as PropertySymbol from '../../PropertySymbol.js';
import ValidityState from '../../validity-state/ValidityState.js';
import Event from '../../event/Event.js';
import HTMLInputElementSelectionModeEnum from './HTMLInputElementSelectionModeEnum.js';
import HTMLFormElement from '../html-form-element/HTMLFormElement.js';
import FileList from './FileList.js';
import HTMLLabelElement from '../html-label-element/HTMLLabelElement.js';
import HTMLDataListElement from '../html-data-list-element/HTMLDataListElement.js';
import NodeList from '../node/NodeList.js';
/**
* HTML Input Element.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement.
*
* Used as reference for some of the logic (like selection range):
* https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/nodes/nodes/HTMLInputElement-impl.js (MIT licensed).
*/
export default class HTMLInputElement extends HTMLElement {
#private;
cloneNode: (deep?: boolean) => HTMLInputElement;
oninput: (event: Event) => void | null;
oninvalid: (event: Event) => void | null;
onselectionchange: (event: Event) => void | null;
[PropertySymbol.value]: any;
[PropertySymbol.height]: number;
[PropertySymbol.width]: number;
[PropertySymbol.defaultChecked]: boolean;
[PropertySymbol.checked]: boolean | null;
[PropertySymbol.validationMessage]: string;
[PropertySymbol.validity]: ValidityState;
[PropertySymbol.files]: FileList;
[PropertySymbol.indeterminate]: boolean;
[PropertySymbol.formNode]: HTMLFormElement | null;
[PropertySymbol.popoverTargetElement]: HTMLElement | null;
/**
* Returns default checked.
*
* @returns Default checked.
*/
get defaultChecked(): boolean;
/**
* Sets default checked.
*
* @param defaultChecked Default checked.
*/
set defaultChecked(defaultChecked: boolean);
/**
* Returns files.
*
* @returns Files.
*/
get files(): FileList;
/**
* Sets files.
*
* @param files Files.
*/
set files(files: FileList);
/**
* Returns form action.
*
* @returns Form action.
*/
get formAction(): string;
/**
* Sets form action.
*
* @param formAction Form action.
*/
set formAction(formAction: string);
/**
* Returns form enctype.
*
* @returns Form enctype.
*/
get formEnctype(): string;
/**
* Sets form enctype.
*
* @param formEnctype Form enctype.
*/
set formEnctype(formEnctype: string);
/**
* Returns form method.
*
* @returns Form method.
*/
get formMethod(): string;
/**
* Sets form method.
*
* @param formMethod Form method.
*/
set formMethod(formMethod: string);
/**
* Returns no validate.
*
* @returns No validate.
*/
get formNoValidate(): boolean;
/**
* Sets no validate.
*
* @param formNoValidate No validate.
*/
set formNoValidate(formNoValidate: boolean);
/**
* Returns form target.
*
* @returns Form target.
*/
get formTarget(): string;
/**
* Sets form target.
*
* @param formTarget Form target.
*/
set formTarget(formTarget: string);
/**
* Returns the parent form element.
*
* @returns Form.
*/
get form(): HTMLFormElement;
/**
* Returns validation message.
*
* @returns Validation message.
*/
get validationMessage(): string;
/**
* Returns validity.
*
* @returns Validity.
*/
get validity(): ValidityState;
/**
* Returns height.
*
* @returns Height.
*/
get height(): number;
/**
* Sets height.
*
* @param height Height.
*/
set height(height: number);
/**
* Returns width.
*
* @returns Width.
*/
get width(): number;
/**
* Sets width.
*
* @param width Width.
*/
set width(width: number);
/**
* Returns size.
*
* @returns Size.
*/
get size(): number;
/**
* Sets size.
*
* @param size Size.
*/
set size(size: number);
/**
* Returns minlength.
*
* @returns Min length.
*/
get minLength(): number;
/**
* Sets minlength.
*
* @param minLength Min length.
*/
set minLength(minlength: number);
/**
* Returns maxlength.
*
* @returns Max length.
*/
get maxLength(): number;
/**
* Sets maxlength.
*
* @param maxlength Max length.
*/
set maxLength(maxLength: number);
/**
* Returns type.
*
* @returns Type. Defaults to "text".
*/
get type(): string;
/**
* Sets type.
*
* @param type Type.
*/
set type(type: string);
/**
* Returns name.
*
* @returns Name.
*/
get name(): string;
/**
* Sets name.
*
* @param name Name.
*/
set name(name: string);
/**
* Returns alt.
*
* @returns Alt.
*/
get alt(): string;
/**
* Sets alt.
*
* @param alt Alt.
*/
set alt(alt: string);
/**
* Returns min.
*
* @returns Min.
*/
get min(): string;
/**
* Sets min.
*
* @param min Min.
*/
set min(min: string);
/**
* Returns max.
*
* @returns Max.
*/
get max(): string;
/**
* Sets max.
*
* @param max Max.
*/
set max(max: string);
/**
* Returns pattern.
*
* @returns Pattern.
*/
get pattern(): string;
/**
* Sets pattern.
*
* @param pattern Pattern.
*/
set pattern(pattern: string);
/**
* Returns placeholder.
*
* @returns Placeholder.
*/
get placeholder(): string;
/**
* Sets placeholder.
*
* @param placeholder Placeholder.
*/
set placeholder(placeholder: string);
/**
* Returns step.
*
* @returns Step.
*/
get step(): string;
/**
* Sets step.
*
* @param step Step.
*/
set step(step: string);
/**
* Returns inputmode.
*
* @returns Inputmode.
*/
get inputMode(): string;
/**
* Sets inputmode.
*
* @param inputmode Inputmode.
*/
set inputMode(inputmode: string);
/**
* Returns accept.
*
* @returns Accept.
*/
get accept(): string;
/**
* Sets accept.
*
* @param accept Accept.
*/
set accept(accept: string);
/**
* Returns allowdirs.
*
* @returns Allowdirs.
*/
get allowdirs(): string;
/**
* Sets allowdirs.
*
* @param allowdirs Allowdirs.
*/
set allowdirs(allowdirs: string);
/**
* Returns autocomplete.
*
* @returns Autocomplete.
*/
get autocomplete(): string;
/**
* Sets autocomplete.
*
* @param autocomplete Autocomplete.
*/
set autocomplete(autocomplete: string);
/**
* Returns src.
*
* @returns Src.
*/
get src(): string;
/**
* Sets src.
*
* @param src Src.
*/
set src(src: string);
/**
* Returns defaultValue.
*
* @returns Defaultvalue.
*/
get defaultValue(): string;
/**
* Sets defaultValue.
*
* @param defaultValue Defaultvalue.
*/
set defaultValue(defaultValue: string);
/**
* Returns read only.
*
* @returns Read only.
*/
get readOnly(): boolean;
/**
* Sets read only.
*
* @param readOnly Read only.
*/
set readOnly(readOnly: boolean);
/**
* Returns disabled.
*
* @returns Disabled.
*/
get disabled(): boolean;
/**
* Sets disabled.
*
* @param disabled Disabled.
*/
set disabled(disabled: boolean);
/**
* Returns autofocus.
*
* @returns Autofocus.
*/
get autofocus(): boolean;
/**
* Sets autofocus.
*
* @param autofocus Autofocus.
*/
set autofocus(autofocus: boolean);
/**
* Returns required.
*
* @returns Required.
*/
get required(): boolean;
/**
* Sets required.
*
* @param required Required.
*/
set required(required: boolean);
/**
* Returns indeterminate.
*
* @returns Indeterminate.
*/
get indeterminate(): boolean;
/**
* Sets indeterminate.
*
* @param indeterminate Indeterminate.
*/
set indeterminate(indeterminate: boolean);
/**
* Returns multiple.
*
* @returns Multiple.
*/
get multiple(): boolean;
/**
* Sets multiple.
*
* @param multiple Multiple.
*/
set multiple(multiple: boolean);
/**
* Returns checked.
*
* @returns Checked.
*/
get checked(): boolean;
/**
* Sets checked.
*
* @param checked Checked.
*/
set checked(checked: boolean);
/**
* Returns value.
*
* @returns Value.
*/
get value(): string;
/**
* Sets value.
*
* @param value Value.
*/
set value(value: string | null);
/**
* Returns selection start.
*
* @returns Selection start.
*/
get selectionStart(): number;
/**
* Sets selection start.
*
* @param start Start.
*/
set selectionStart(start: number);
/**
* Returns selection end.
*
* @returns Selection end.
*/
get selectionEnd(): number;
/**
* Sets selection end.
*
* @param end End.
*/
set selectionEnd(end: number);
/**
* Returns selection direction.
*
* @returns Selection direction.
*/
get selectionDirection(): string;
/**
* Sets selection direction.
*
* @param direction Direction.
*/
set selectionDirection(direction: string);
/**
* Returns "true" if it will validate.
*
* @returns "true" if it will validate.
*/
get willValidate(): boolean;
/**
* Returns value as Date.
*
* @returns Date.
*/
get valueAsDate(): Date;
/**
* Sets value from a Date.
*
* @param value Date.
*/
set valueAsDate(value: Date | null);
/**
* Returns value as number.
*
* @returns Number.
*/
get valueAsNumber(): number;
/**
* Sets value from a number.
*
* @param value number.
*/
set valueAsNumber(value: number);
/**
* Returns the associated label elements.
*
* @returns Label elements.
*/
get labels(): NodeList;
/**
* Returns associated datalist element.
*
* @returns Data list element.
*/
get list(): HTMLDataListElement | null;
/**
* Returns popover target element.
*
* @returns Popover target element.
*/
get popoverTargetElement(): HTMLElement | null;
/**
* Sets popover target element.
*
* @param popoverTargetElement Popover target element.
*/
set popoverTargetElement(popoverTargetElement: HTMLElement | null);
/**
* Returns popover target action.
*
* @returns Popover target action.
*/
get popoverTargetAction(): string;
/**
* Sets popover target action.
*
* @param value Popover target action.
*/
set popoverTargetAction(value: string);
/**
* Sets validation message.
*
* @param message Message.
*/
setCustomValidity(message: string): void;
/**
* Selects the text.
*/
select(): void;
/**
* Set selection range.
*
* @param start Start.
* @param end End.
* @param [direction="none"] Direction.
*/
setSelectionRange(start: number, end: number, direction?: string): void;
/**
* Set range text.
*
* @param replacement Replacement.
* @param [start] Start.
* @param [end] End.
* @param [direction] Direction.
* @param selectionMode
*/
setRangeText(replacement: string, start?: number, end?: number, selectionMode?: HTMLInputElementSelectionModeEnum): void;
/**
* Checks validity.
*
* @returns "true" if the field is valid.
*/
checkValidity(): boolean;
/**
* Reports validity.
*
* @returns "true" if the field is valid.
*/
reportValidity(): boolean;
/**
* Steps up.
*
* @param [increment] Increment.
*/
stepUp(increment?: number): void;
/**
* Steps down.
*
* @param [increment] Increment.
*/
stepDown(increment?: number): void;
/**
* @override
*/
[PropertySymbol.cloneNode](deep?: boolean): HTMLInputElement;
/**
* @override
*/
dispatchEvent(event: Event): boolean;
}
//# sourceMappingURL=HTMLInputElement.d.ts.map