import { OverlayConfig } from "@angular/cdk/overlay";
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from "@angular/core";
import { Subject } from "rxjs";
import { CheckboxStatus, SelectionType } from "./public-api";
import { IFilter, IFilterPub, ISelectorFilter } from "../../services/data-source/public-api";
import { CheckboxComponent } from "../checkbox/checkbox.component";
import { IMenuGroup, IMenuItem } from "../menu/public-api";
import { OverlayComponent } from "../overlay/overlay-component/overlay.component";
import * as i0 from "@angular/core";
/**
 * @ignore
 * <example-url>./../examples/index.html#/selector</example-url>
 */
/**
 * __Name :__
 * NUI Selector component.
 *
 * __Usage :__
 * Component provides different options to select elements
 * by emmiting appropriate event.
 * Checkbox and droplist allow to select "All" or "None" items.
 * Droplist has additional option to select "All pages". Component
 * has indication about which selection option is active now and
 * binding property to set indeterminate state.
 */
export declare class SelectorComponent implements OnChanges, AfterViewInit, OnDestroy, IFilterPub {
    /**
     * resets selection, makes component appearance indeterminate
     */
    checkboxStatus: CheckboxStatus;
    items: IMenuGroup[];
    appendToBody: boolean;
    ariaLabel: string;
    selectionChange: EventEmitter<SelectionType>;
    checkbox: CheckboxComponent;
    popupArea: ElementRef;
    overlay: OverlayComponent;
    customContainer: ElementRef | undefined;
    checkboxChecked: boolean;
    indeterminate: boolean;
    onDestroy$: Subject<void>;
    overlayConfig: OverlayConfig;
    private status;
    private selectionHasChanged;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    getFilters(): IFilter<ISelectorFilter>;
    handleSelectorClick(event: MouseEvent): void;
    private onCheckboxValueChange;
    handleItemClick(item: IMenuItem): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectorComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SelectorComponent, "nui-selector", never, { "checkboxStatus": { "alias": "checkboxStatus"; "required": false; }; "items": { "alias": "items"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "selectionChange": "selectionChange"; }, never, never, false, never>;
}
