import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { CoreComponentsIcon } from '../../core/enum/core-components-icon.enum';
import { FilterItemViewmodel } from './filter-item-viewmodel';
import { IconCacheService } from '../icon/icon-cache.service';
import { FilterItemMode } from '../../core/enum/filterItem-mode.enum';
import { ScreenConfigAdapterComponent } from '../../interfaces/screen-config-adapter.component.interface';
import { ObjectConfiguration } from '@colijnit/ioneconnector/build/model/object-configuration';
import { ObjectConfigurationDefaultValueType } from '@colijnit/ioneconnector/build/type/object-configuration-default-value-type';
export declare class FilterItemComponent implements OnInit, ScreenConfigAdapterComponent, OnDestroy {
    iconService: IconCacheService;
    private _changeDetector;
    icons: typeof CoreComponentsIcon;
    modes: typeof FilterItemMode;
    dateFieldValue?: Date;
    set mode(value: FilterItemMode);
    get mode(): FilterItemMode;
    set collection(value: FilterItemViewmodel[]);
    get collection(): FilterItemViewmodel[];
    placeholder: string;
    initialLimit: number;
    expanded: boolean;
    minSearchCharsToLoadCollection: number;
    collectionLoadFn: Function;
    customContent: boolean;
    showAllResults: boolean;
    filterButtonLabel: string;
    searchPlaceholder: string;
    showMoreLabel: string;
    showLessLabel: string;
    noResultsLabel: string;
    sliderDefaultMin: number;
    sliderDefaultMax: number;
    fullRangeIsNull: boolean;
    canFilterByCode: boolean;
    firstDayOfWeek: string;
    alwaysShowButton: boolean;
    set model(newModel: any);
    get model(): any;
    set configObject(value: ObjectConfiguration);
    get configObject(): ObjectConfiguration;
    modelChange: EventEmitter<any>;
    collectionChange: EventEmitter<FilterItemViewmodel[]>;
    filterButtonClicked: EventEmitter<void>;
    get hasClass(): boolean;
    dateInput: any;
    dateRangeInput: any;
    filteredCollection: FilterItemViewmodel[];
    limitTo: number;
    filterText: string;
    showButton: boolean;
    isLoading: boolean;
    sliderMin: number;
    sliderMax: number;
    dateRangeStart: Date;
    dateRangeEnd: Date;
    objectConfigName: string;
    hidden: boolean;
    required: boolean;
    forceReadonly: boolean;
    readonly: boolean;
    maxLength: number;
    defaultValue: ObjectConfigurationDefaultValueType;
    decimals: number;
    redErrorBackground: boolean;
    checkBoxToTextModel: boolean;
    private _configObject;
    private _collection;
    private _mode;
    private _model;
    private _defaultSet;
    private _collectionSubject;
    private _collectionSubscription;
    private debounceTimeout;
    constructor(iconService: IconCacheService, _changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    setToInitialLimit(): void;
    increaseLimit(): void;
    moreToShow(): boolean;
    lessToShow(): boolean;
    handleModelChange(model: any): void;
    valueSelected(): boolean;
    onModelChange(text: string): void;
    applyFilter(text: string): Promise<[]>;
    onButtonClicked(): Promise<void>;
    private uncheckForSingleSelect;
    private readModelForMode;
    private _createModelForFilterList;
    private _createModelForStringCollectionList;
    private _createModelForSingleSelectList;
    private _createModelForSelectListWithNumberOutput;
    private _createModelForSliderMode;
    private _createModelForNullableSliderMode;
    private _createModelForCheckboxToText;
    private _createModelForCheckboxToTFText;
    private _createModelForCheckboxToSimpleText;
    private _createModelForCheckboxToTFSimpleText;
    private _createModelForCheckboxToBinary;
    private _createModelForDateField;
    private _createModelForDateRange;
    private _formatDateToString;
    private _readModelForFilterList;
    private _readModelForSingleSelectList;
    private _readModelForStringCollectionList;
    private _readModelForSelectListWithNumberOutput;
    private _uncheckAll;
    private _readModelForSliderMode;
    private _readModelForCheckboxToText;
    private _readModelForCheckboxToTFText;
    private _readModelForCheckboxToBinary;
    private _readModelForDateField;
    private _readModelForDateRangeField;
    private _applyDefaultForFilterList;
    private _applyDefaultForStringCollectionList;
    private _applyDefaultForSingleSelectList;
    private _applyDefaultForSelectListWithNumberOutput;
    private _applyDefaultForSlider;
    private _applyDefaultForCheckboxToText;
    private _applyDefaultForCheckboxToBinary;
    private _applyDefaultForDateField;
    private _applyDefaultForDateRangeField;
    private _applyDefaultForTextField;
    private _applyDefaultForCheckbox;
    private _applyDefaultFilters;
    private _sortCollectionByChecked;
}
