import { LitElement, TemplateResult } from 'lit';
import type { FormAssociated } from '../mixins/form-associated/interface';
import '../icon';
import { Focusable } from '../mixins/focusable/inderface';
export declare type TInputMode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
export declare type TFileldTypes = 'text' | 'password' | 'date';
export interface TextProps extends FormAssociated, Focusable {
    size: number;
    minlength: number;
    maxlength: number;
    readonly: boolean;
    useCancelButton: boolean;
    spellcheck: boolean;
    placeholder: string;
    inputmode: TInputMode;
    pattern: string;
    value: string;
    icon: string | TemplateResult;
    type: TFileldTypes;
}
declare const LitTextField_base: (new (...args: any[]) => Focusable & LitElement) & (new (...args: any[]) => import("../mixins/labled/inderface").ILabled) & (new (...args: any[]) => import("../mixins/form-associated/interface").FormAssociatedElement) & (new (...args: any[]) => import("../mixins/form-associated/interface").FormAssociatedElement) & typeof LitElement;
export declare class LitTextField extends LitTextField_base implements TextProps {
    static get styles(): (import("lit").CSSResult | import("lit").CSSResultOrNative[])[];
    static get properties(): {
        value: {
            type: StringConstructor;
        };
    };
    size: number;
    minlength: number;
    maxlength: number;
    spellcheck: boolean;
    pattern: string;
    placeholder: string;
    autocomplete: 'on' | 'off' | 'current-password';
    inputmode: TInputMode;
    type: TFileldTypes;
    useCancelButton: boolean;
    icon: string | TemplateResult;
    private _selectionBeforeRender;
    private _inputRef;
    hiddenPassword: boolean;
    get selectionStart(): number;
    get valueAsDate(): Date;
    set valueAsDate(value: Date);
    get valueAsNumber(): number;
    set valueAsNumber(value: number);
    private _value;
    get value(): string;
    set value(value: string);
    private _getType;
    validate(): void;
    private _iconslotTemplate;
    render(): TemplateResult<1>;
    private _onClick;
    willUpdate(_changedProperties: Map<string | number | symbol, unknown>): void;
    updated(_changedProperties: Map<string | number | symbol, unknown>): void;
    private _clearValue;
    private toggleHiddenPassword;
    private _onChange;
    private _onInput;
}
declare global {
    interface HTMLElementTagNameMap {
        'lit-textfield': LitTextField;
    }
}
export {};
