import { AfterViewInit, EventEmitter, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { NSBaseComponent } from '../ns-base';
import { INSMultiSelectDropdownSetting } from './interfaces';
import * as i0 from "@angular/core";
declare var NSMultiSelectDropdown: any;
export interface INSMultiSelectDropdownAngularSetting extends INSMultiSelectDropdownSetting {
    setting?: INSMultiSelectDropdownSetting;
    dataSource?: any[];
    [propName: string]: any;
}
export declare class NSMultiSelectDropdownAngular extends NSBaseComponent<typeof NSMultiSelectDropdown> implements OnInit, AfterViewInit, ControlValueAccessor {
    static checkComponentLoaded(): void;
    static get LABEL_TYPE_OF_TEXT(): any;
    static get LABEL_TYPE_HORIZONTAL_LIST(): any;
    static get LABEL_TYPE_VERTICAL_LIST(): any;
    setting: INSMultiSelectDropdownAngularSetting | undefined | null;
    set dataSource(arrSource: any[]);
    get dataSource(): any[] | null | undefined;
    dropdownOpen: EventEmitter<any>;
    dropdownClose: EventEmitter<any>;
    dropdownItemClick: EventEmitter<any>;
    private __source;
    private __arrItems;
    private __arrValues;
    private onChange;
    private onTouched;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    create(): void;
    writeValue(value: any): void;
    registerOnChange(fn: (value: any) => void): void;
    registerOnTouched(fn: () => void): void;
    setDisabledState?(isDisabled: boolean): void;
    getSelectedIndexes(): number[];
    getSelectedItems(): any[];
    setSelectUnselectItemsByValue(value: string | number, isSelected: boolean): void;
    setSelectUnselectItems(arrItems: any, isSelected: boolean): void;
    setStyle(styleProp: string, value: any): void;
    setFocus(isFocus: boolean): void;
    hasFocus(): boolean;
    setTheme(theme: string): void;
    protected eventListener(event: any, eventName: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NSMultiSelectDropdownAngular, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NSMultiSelectDropdownAngular, "ns-multiselect-dropdown-angular", never, { "setting": { "alias": "setting"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; }, { "dropdownOpen": "dropdownOpen"; "dropdownClose": "dropdownClose"; "dropdownItemClick": "dropdownItemClick"; }, never, never, false, never>;
}
export {};
