import { CSSResult } from 'lit';
import { LitElement } from 'lit';
import { TemplateResult } from 'lit-html';

export declare class InputComponent extends PlusBase {
    static styles: CSSResult[];
    input: HTMLInputElement;
    private hasFocus;
    type: "date" | "datetime-local" | "email" | "number" | "password" | "search" | "tel" | "text" | "time" | "url";
    name: string;
    value: string;
    placeholder: string;
    size: "sm" | "md" | "lg";
    clearable: boolean;
    passwordToggle: boolean;
    passwordVisible: boolean;
    label?: string;
    pattern: string;
    minlength: number;
    maxlength: number;
    min: number | string;
    max: number | string;
    step: number | "any";
    autocapitalize: "off" | "none" | "on" | "sentences" | "words" | "characters";
    autocorrect: "off" | "on";
    autocomplete: string;
    autofocus: boolean;
    enterkeyhint: "enter" | "done" | "go" | "next" | "previous" | "search" | "send";
    inputmode: "none" | "text" | "decimal" | "numeric" | "tel" | "search" | "email" | "url";
    spellcheck: boolean;
    caption?: string;
    error: boolean;
    fullWidth: boolean;
    private handleBlur;
    private handleChange;
    private handleClearClick;
    private handleFocus;
    private handleInput;
    private handleInvalid;
    private handleKeyDown;
    handleSlotchange(e: any): void;
    render(): TemplateResult;
}

declare abstract class PlusBase extends LitElement {
    static styles: CSSResult[];
    id: string;
    name: string;
    value: string | number;
    disabled: boolean;
    readonly: boolean;
    required: boolean;
    loading: boolean;
    title: string;
    emit(name: string, options?: CustomEventInit): CustomEvent<any>;
}

export { }
