import { ComponentInterface, EventEmitter } from "../../stencil-public-runtime";
/**
* @name Input
* @description Enables native inputs to be used within a Form field.
* @category Form Inputs
* @tags input, form
* @example
*/
export declare class SignetInput implements ComponentInterface {
gid: string;
/**
* The input field name.
*/
name: string;
/**
* The input field placeholder.
*/
/**
* The input field value.
*/
value?: string;
modelValue?: string;
/**
* The input field size.
* Possible values are: `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
*/
size: 'sm' | 'md' | 'lg' | 'small' | 'medium' | 'large';
private get normalizedSize();
/**
* The input state.
* Possible values are: `"success"`, `"error"`, `"warning"`, 'default'. Defaults to `"default"`.
*/
state: "success" | "error" | "warning" | "default";
/**
* The type of control to display.
* Possible values are: `"text"`, `"password"`, `"number"`, `"email"`, `"tel"`. Defaults to `"text"`.
*/
type: "text" | "password" | "number" | "email" | "tel";
/**
* If true, the user cannot interact with the button. Defaults to `false`.
*/
disabled: boolean;
/**
* If true, the user read the value cannot modify it. Defaults to `false`.
*/
readonly: boolean;
/**
* If true, required icon is show. Defaults to `false`.
*/
required: boolean;
/**
* If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
*/
clearable: boolean;
/**
* Set the amount of time, in milliseconds, to wait to trigger the `signetChange` event after each keystroke.
*/
debounce: number;
label: string;
/**
* Indicates whether the value of the control can be automatically completed by the browser.
*/
autocomplete: "on" | "off";
configAria: any;
hasButton: boolean;
buttonText: string;
placeholder: string;
/**
* The color of the required asterisk in the label. Defaults to 'red'.
*/
requiredAsteriskColor: string;
/**
* Emitted when a keyboard input occurred.
*/
signetInput: EventEmitter;
/**
* Emitted when the value has changed.
*/
signetChange: EventEmitter;
/**
* Emitted when the input loses focus.
*/
signetBlur: EventEmitter;
/**
* Emitted when the input has focus.
*/
signetFocus: EventEmitter;
elm: HTMLElement;
private nativeInput?;
private tabindex?;
startSlotHasContent: boolean;
endSlotHasContent: boolean;
hasFocus: boolean;
labelBgColor: string;
private computeEffectiveBackground;
private inputHandler;
private keyDownHandler;
private blurHandler;
private focusHandler;
private clearInput;
getComponentId(): Promise;
/**
* Sets focus on the native `input` in `signet-input`. Use this method instead of the global
* `input.focus()`.
*/
setFocus(): Promise;
/**
* Sets blur on the native `input` in `signet-input`. Use this method instead of the global
* `input.blur()`.
*/
setBlur(): Promise;
/**
* Update the native input element when the value changes
*/
protected valueChanged(): void;
protected debounceChanged(): void;
handleModelValueChange(newValue: string): void;
connectedCallback(): void;
private getValue;
private hasValue;
componentDidLoad(): void;
render(): any;
}