import { UmbLitElement } from '../../core/lit-element/index.js';
import type { UmbPropertyEditorUiElement, UmbPropertyEditorConfigCollection } from '../../core/property-editor/index.js';
declare const UmbPropertyEditorUITextBoxElement_base: import("../../../libs/extension-api/index.js").HTMLElementConstructor<import("../../core/validation/index.js").UmbFormControlMixinElement<string | undefined>> & typeof UmbLitElement;
export declare class UmbPropertyEditorUITextBoxElement extends UmbPropertyEditorUITextBoxElement_base implements UmbPropertyEditorUiElement {
    #private;
    /**
     * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.
     * @type {boolean}
     * @attr
     * @default false
     */
    readonly: boolean;
    /**
     * Sets the input to mandatory, meaning validation will fail if the value is empty.
     * @type {boolean}
     */
    mandatory?: boolean;
    mandatoryMessage: string;
    /**
     * The name of this field.
     * @type {string}
     */
    name?: string;
    private _type;
    private _inputMode;
    private _maxChars?;
    private _placeholder?;
    set config(config: UmbPropertyEditorConfigCollection | undefined);
    protected firstUpdated(): void;
    focus(): Promise<void> | undefined;
    render(): import("lit-html").TemplateResult<1>;
    static styles: import("lit").CSSResult[];
}
export default UmbPropertyEditorUITextBoxElement;
declare global {
    interface HTMLElementTagNameMap {
        'umb-property-editor-ui-text-box': UmbPropertyEditorUITextBoxElement;
    }
}
