import { Observable } from 'rxjs'; import { ValidatorFn, AsyncValidatorFn } from '@angular/forms'; import { TagModel } from './core/tag-model'; export interface TagInputOptions { separatorKeys: string[]; separatorKeyCodes: number[]; maxItems: number; placeholder: string; secondaryPlaceholder: string; validators: ValidatorFn[]; asyncValidators: AsyncValidatorFn[]; onlyFromAutocomplete: boolean; errorMessages: { [key: string]: string; }; theme: ''; onTextChangeDebounce: number; inputId: string | null; inputClass: string; clearOnBlur: boolean; hideForm: boolean; addOnBlur: boolean; addOnPaste: boolean; pasteSplitPattern: string | RegExp; blinkIfDupe: boolean; removable: boolean; editable: boolean; allowDupes: boolean; modelAsStrings: boolean; trimTags: boolean; ripple: boolean; tabIndex: string; disable: boolean; dragZone: string; onRemoving?: (tag: TagModel) => Observable; onAdding?: (tag: TagModel) => Observable; displayBy: string; identifyBy: string; animationDuration: { enter: string; leave: string; }; } export interface TagInputDropdownOptions { displayBy: string; identifyBy: string; appendToBody: boolean; offset: string; focusFirstElement: boolean; showDropdownIfEmpty: boolean; minimumTextLength: number; limitItemsTo: number; keepOpen: boolean; zIndex: number; dynamicUpdate: boolean; matchingFn: (value: string, target: TagModel) => boolean; } export declare const defaults: { tagInput: TagInputOptions; dropdown: TagInputDropdownOptions; };