import { AfterViewInit, ChangeDetectorRef, EventEmitter, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { KeyFilterPattern } from 'primeng/keyfilter';
import { ChipAddEvent } from '../models/chip-models';
import * as i0 from "@angular/core";
export declare class ChipsComponent implements AfterViewInit, ControlValueAccessor {
    private readonly cdr;
    newItem: string;
    chipTemplate?: TemplateRef<any>;
    disabled: boolean;
    field: string;
    value: any[];
    placeholder: string | undefined;
    max: number;
    maxLength: number;
    inputId: string;
    allowDuplicated: boolean;
    caseSensitiveDuplication: boolean;
    addOnTab: boolean;
    addOnBlur: boolean;
    separator: string;
    autofocus: boolean;
    infoLabel: string;
    keyFilter?: RegExp | KeyFilterPattern;
    showTooltip: boolean;
    maxLengthRenderWithoutTooltip: number;
    added: EventEmitter<ChipAddEvent>;
    removed: EventEmitter<import("../models/chip-models").ChipEvent>;
    focused: EventEmitter<FocusEvent>;
    focusLost: EventEmitter<FocusEvent>;
    chipClicked: EventEmitter<import("../models/chip-models").ChipEvent>;
    valueChange: EventEmitter<any[] | string[]>;
    private readonly templates;
    private readonly input;
    isFocused: boolean;
    onChange: (value: string[] | any[]) => void;
    onTouched: (value: string[] | any[]) => void;
    private isTabEventActive;
    constructor(cdr: ChangeDetectorRef);
    ngAfterViewInit(): void;
    writeValue(obj: string[] | any[]): void;
    registerOnChange(fn: (value: string[] | any[]) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState(isDisabled: boolean): void;
    onKeydown($event: KeyboardEvent): void;
    onInputFocus($event: FocusEvent): void;
    onInputLostFocus($event: FocusEvent): void;
    removeItem({ itemIndex, event }: {
        itemIndex: number;
        event: Event;
    }): void;
    onChipClicked({ event, data }: {
        event: Event;
        data: string | Object;
    }): void;
    private addItem;
    private hasValueToAdd;
    private isMaxReached;
    private isValidItemLength;
    private getMappedValues;
    private getValueToAdd;
    private hasDuplicatedItem;
    private storeValue;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChipsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChipsComponent, "s-chips", never, { "disabled": { "alias": "disabled"; "required": false; }; "field": { "alias": "field"; "required": false; }; "value": { "alias": "value"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "max": { "alias": "max"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "allowDuplicated": { "alias": "allowDuplicated"; "required": false; }; "caseSensitiveDuplication": { "alias": "caseSensitiveDuplication"; "required": false; }; "addOnTab": { "alias": "addOnTab"; "required": false; }; "addOnBlur": { "alias": "addOnBlur"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "autofocus": { "alias": "autofocus"; "required": false; }; "infoLabel": { "alias": "infoLabel"; "required": false; }; "keyFilter": { "alias": "keyFilter"; "required": false; }; "showTooltip": { "alias": "showTooltip"; "required": false; }; "maxLengthRenderWithoutTooltip": { "alias": "maxLengthRenderWithoutTooltip"; "required": false; }; }, { "added": "added"; "removed": "removed"; "focused": "focused"; "focusLost": "focusLost"; "chipClicked": "chipClicked"; "valueChange": "valueChange"; }, ["templates"], never, false, never>;
}
