/// <reference types="jquery" />
import { Event, HtmlComponent, InitModelOf, KeyStrokeContext, LookupCall, LookupCallOrModel, LookupResult, MaxLengthHandler, Popup, PropertyChangeEvent, TagBar, TagBarTagRemoveEvent, TagChooserPopup, TagChooserPopupLookupRowSelectedEvent, TagFieldEventMap, TagFieldModel, ValueField } from '../../../index';
export declare class TagField extends ValueField<string[]> implements TagFieldModel {
    model: TagFieldModel;
    eventMap: TagFieldEventMap;
    self: TagField;
    lookupCall: LookupCall<string>;
    maxLength: number;
    fieldHtmlComp: HtmlComponent;
    popup: TagChooserPopup;
    tagBar: TagBar;
    maxLengthHandler: MaxLengthHandler;
    /** @internal */
    _currentLookupCall: LookupCall<string>;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    protected _onTagRemove(event: TagBarTagRemoveEvent): void;
    protected _initKeyStrokeContext(): void;
    protected _createKeyStrokeContext(): KeyStrokeContext;
    protected _render(): void;
    protected _addAriaFieldDescription(): void;
    protected _renderProperties(): void;
    protected _renderValue(): void;
    protected _setValue(value: string[]): void;
    protected _setLookupCall(lookupCall: LookupCallOrModel<string>): void;
    formatValue(value: string[]): string | JQuery.Promise<string>;
    protected _validateValue(value: string[]): string[];
    protected _parseValue(displayText: string): string[];
    protected _renderDisplayText(): void;
    protected _renderEnabled(): void;
    protected _renderFieldStyle(): void;
    setMaxLength(maxLength: number): void;
    protected _renderMaxLength(): void;
    protected _updateInputVisible(): void;
    _readDisplayText(): string;
    protected _clear(): void;
    acceptInput(whileTyping?: boolean): void;
    _triggerAcceptInput(whileTyping?: boolean): void;
    aboutToBlurByMouseDown(target: Element): void;
    protected _onFieldBlur(event: JQuery.BlurEvent): void;
    protected _onFieldFocus(event: JQuery.FocusEvent): void;
    protected _onFieldInput(): void;
    addTag(text: string): void;
    removeTag(tag: string): void;
    protected _onInputKeydown(event: JQuery.KeyDownEvent): void;
    protected _isNavigationKey(event: JQuery.KeyboardEventBase): boolean;
    protected _onInputKeyup(event: JQuery.KeyUpEvent): void;
    protected _lookupByText(text: string): void;
    protected _onLookupDone(result: LookupResult<string>): void;
    openPopup(): void;
    closePopup(): void;
    protected _onLookupRowSelected(event: TagChooserPopupLookupRowSelectedEvent): void;
    protected _onPopupClose(event: Event<Popup>): void;
    isInputFocused(): boolean;
    protected _onValueChange(event: PropertyChangeEvent<any, TagField>): void;
    protected _renderPlaceholder($field?: JQuery): void;
    protected _createFieldAdapter(): TagFieldKeyStrokeAdapter;
    static createFieldAdapter(field: TagField): TagFieldKeyStrokeAdapter;
}
export interface TagFieldKeyStrokeAdapter {
    $container(): JQuery;
    enabled(): boolean;
    focus(): any;
    removeTag(tag: string): any;
}
//# sourceMappingURL=TagField.d.ts.map