import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import * as i0 from "@angular/core";
export declare abstract class AbstractContextComponent<T> implements OnInit, OnDestroy {
    protected el: ElementRef;
    protected myRenderer: Renderer2;
    protected cdr: ChangeDetectorRef;
    dropdownParent: ElementRef;
    dropdownMenuElement: ElementRef;
    dropdownElement: ElementRef;
    ngcontent: ElementRef;
    action: EventEmitter<any>;
    elementID: string;
    fontSize: string;
    fontColor: string;
    isEmbedded: boolean;
    overflow: boolean;
    destroyWheelListener: Function;
    destroyMouseListener: Function;
    destroyKeyListener: Function;
    scrollHandler: any;
    isOpened: boolean;
    protected previousActionId: string;
    protected previousShownMenu: Array<string>;
    protected previousMenuWidth: Array<number>;
    protected lastMenuLevel: number;
    protected constructor(el: ElementRef, myRenderer: Renderer2, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    onResize(event: any): void;
    isDropDownOpened(): boolean;
    protected loop(x: number, y: number): void;
    showDropDown(x: number, y: number): void;
    resetDropDownPositionAndHeight(): void;
    protected getFirstChildLeft(selectedChild: ElementRef): number;
    protected getFirstChildLeftWithLevels(selectedChild: ElementRef, optionLevel: number, previousMenuWidth: Array<number>): number;
    protected getFirstChildTop(event: any, selectedChild: ElementRef): number;
    actionsAfterCloseDropDown(): void;
    closeDropDown(): void;
    protected addListeners(): void;
    protected handleKeyboardEvents(event: KeyboardEvent): void;
    protected handleWheelEvents(event: WheelEvent): void;
    protected handleMouseEvents(event: MouseEvent): void;
    protected scroll(event: any): void;
    protected checkTargetAndClose(target: any): void;
    ngContentStopPropagation(event: any): void;
    protected checkIfNgContent(target: any): boolean;
    protected addScrollHandler(): void;
    protected removeScrollHandler(): void;
    ngOnDestroy(): void;
    dotsClicked(event: MouseEvent): void;
    protected hideDivUntilIsPositioned(x: number, y: number): void;
    open(event: MouseEvent): void;
    toggle(elementID: string): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AbstractContextComponent<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractContextComponent<any>, never, never, { "elementID": { "alias": "elementID"; "required": false; }; "fontSize": { "alias": "fontSize"; "required": false; }; "fontColor": { "alias": "fontColor"; "required": false; }; "isEmbedded": { "alias": "isEmbedded"; "required": false; }; "overflow": { "alias": "overflow"; "required": false; }; }, { "action": "action"; }, never, never, false, never>;
}
