import { EventEmitter } from '../../stencil-public-runtime'; /** A custom input component that wraps the html input element is a mobile friendly component that supports a label, some help text and other features. * @slot prefix - Can be used to inject content before the input field. * @slot suffix - Can be used to inject content after the input field. */ export declare class DnnInput { /** The input type, supports most of html standard input type, see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#input_types. */ type: "date" | "datetime-local" | "email" | "number" | "password" | "tel" | "text" | "time" | "url" | "search"; /** The label for this input. */ label?: string; /** The name for this input when used in forms. */ name?: string; /** The value of the input. */ value: number | string | string[]; /** Defines the help label displayed under the field. */ helpText?: string; /** Defines whether the field requires having a value. */ required?: boolean; /** Defines whether the field is disabled. */ disabled?: boolean; /** Defines the type of auto-completion to use for this field, see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete. */ autocomplete: string; /** Defines the minimum allowed value. */ min?: number | string; /** Defines the maximum allowed value. */ max?: number | string; /** Defines the minimum amount of charaters. */ minlength?: number; /** Defines the maximum amount of charaters. */ maxlength?: number; /** If true, allows multiple emails to be entered separated by commas. */ multiple?: boolean; /** Valid for text, search, url, tel, email, and password, the pattern attribute defines a regular expression that the input's value must match in order for the value to pass constraint validation. */ pattern?: string; /** Defines wheter the defined value is readonly. */ readonly?: boolean; /** Defines the possible steps for numbers and dates/times. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#step */ step?: string | number; /** @deprecated This control has it's own validation reporting, will be removed in v0.25.0 */ disableValidityReporting?: boolean; /** If true, enables users to switch between a password and a text field (to view their password). */ allowShowPassword?: boolean; /** Hints at the type of data that might be entered by the user while editing the element or its contents. * This allows a browser to display an appropriate virtual keyboard. */ inputmode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search"; /** Fires when the value has changed and the user exits the input. */ valueChange: EventEmitter; /** Fires when the using is inputing data (on keystrokes). */ valueInput: EventEmitter; /** Reports the input validity details. See https://developer.mozilla.org/en-US/docs/Web/API/ValidityState */ checkValidity(): Promise; /** Can be used to set a custom validity message. */ setCustomValidity(message: string): Promise; focused: boolean; valid: boolean; internals: ElementInternals; private inputField; private fieldset; private labelId?; componentWillLoad(): void; componentDidLoad(): void; formResetCallback(): void; private handleInput; private handleInvalid; private handleChange; private switchPasswordVisibility; private shouldLabelFloat; private getInputMode; private handleBlur; render(): any; }