/**
 * @license
 * Copyright Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { IChipFieldComponent } from './chip-field';
import { ChipFieldInputAttributeObserver, ChipFieldValueChangeListener } from './chip-field-constants';
import { BaseFieldAdapter, IBaseFieldAdapter } from '../field/base/base-field-adapter';
import { IFieldComponent } from '../field';
export interface IChipFieldAdapter extends IBaseFieldAdapter {
    readonly popoverTargetElement: HTMLElement;
    readonly hasInputValue: boolean;
    readonly inputHasFocus: boolean;
    initialize(): void;
    addRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    removeRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    addInputListener(type: string, listener: EventListener): void;
    removeInputListener(type: string, listener: EventListener): void;
    clickInput(): void;
    tryAddValueChangeListener(context: unknown, listener: ChipFieldValueChangeListener): void;
    removeValueChangeListener(): void;
    getSlottedMemberElements(): HTMLElement[];
    focusInput(): void;
    handleDefaultSlotChange(slot: HTMLSlotElement, listener: ChipFieldInputAttributeObserver): void;
    tryConnectSlottedLabel(slot: HTMLSlotElement): void;
    toggleContainerClass(className: string, force?: boolean): void;
    setDisabled(value: boolean): void;
}
export declare class ChipFieldAdapter extends BaseFieldAdapter implements IChipFieldAdapter {
    protected readonly _fieldElement: IFieldComponent;
    private _containerElement;
    private _memberSlot;
    private _popoverTargetElement;
    private _inputElement;
    private _inputMutationObserver?;
    private _destroyValueChangerListener;
    get hasValue(): boolean;
    get hasPlaceholder(): boolean;
    get hasInputValue(): boolean;
    get inputHasFocus(): boolean;
    get popoverTargetElement(): HTMLElement;
    constructor(component: IChipFieldComponent);
    initialize(): void;
    addRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    removeRootListener(type: string, listener: EventListener, options?: EventListenerOptions): void;
    addInputListener(type: string, listener: EventListener): void;
    removeInputListener(type: string, listener: EventListener): void;
    clickInput(): void;
    tryAddValueChangeListener(context: unknown, listener: ChipFieldValueChangeListener): void;
    removeValueChangeListener(): void;
    focusInput(): void;
    getSlottedMemberElements(): HTMLElement[];
    click(): void;
    applyLabel(value: string | null): void;
    tryFloatLabel(force?: boolean | undefined): void;
    handleDefaultSlotChange(slot: HTMLSlotElement, listener: ChipFieldInputAttributeObserver): void;
    tryConnectSlottedLabel(slot: HTMLSlotElement): void;
    toggleContainerClass(className: string, force?: boolean): void;
    setDisabled(value: boolean): void;
}
