import { PluginObject } from 'vue';
import { InputManagementData } from '../../mixins/input-management/input-management';
import { InputSelectable } from '../../utils/input/input';
import { ModulVue } from '../../utils/vue/vue';
export declare enum MTextfieldType {
    Text = "text",
    Password = "password",
    Email = "email",
    Url = "url",
    Telephone = "tel",
    Number = "number"
}
export declare class MTextfield extends ModulVue implements InputManagementData, InputSelectable {
    type: MTextfieldType;
    icon: boolean;
    wordWrap: boolean;
    characterCount: boolean;
    maxLength: number;
    lengthOverflow: boolean;
    characterCountThreshold: number;
    selection: string;
    append: boolean;
    $refs: {
        input: HTMLElement;
    };
    readonly internalValue: string;
    private passwordAsText;
    private iconDescriptionShowPassword;
    private iconDescriptionHidePassword;
    private id;
    protected created(): void;
    protected mounted(): void;
    private typeChanged;
    private inputTypeChanged;
    private wordWrapChanged;
    private togglePasswordVisibility;
    readonly inputType: MTextfieldType;
    private readonly passwordIcon;
    private readonly passwordIconName;
    private readonly passwordIconDescription;
    private readonly hasWordWrap;
    readonly valueLength: number;
    private readonly maxLengthNumber;
    private readonly hasTextfieldError;
    private readonly isTextfieldValid;
    private readonly hasCounterTransition;
    private resetModel;
    updateSelection(): void;
}
declare const TextfieldPlugin: PluginObject<any>;
export default TextfieldPlugin;
//# sourceMappingURL=textfield.d.ts.map