import { ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { ConnectedPosition, Overlay, OverlayPositionBuilder, OverlayRef } from '@angular/cdk/overlay';
import { QdPopoverService } from '../popover.service';
import { QdPopoverAutoSizeConfig, QdPopoverSizingService } from '../popover-sizing.service';
import { QdPopoverParentService } from '../popover-parent.service';
import { QdPopoverBackgroundColor } from '../popover/popover.component';
import * as i0 from "@angular/core";
export declare class QdPopoverOnClickDirective implements OnInit, OnDestroy {
    protected hostRef: ElementRef<HTMLElement>;
    protected overlayPositionBuilder: OverlayPositionBuilder;
    protected overlay: Overlay;
    protected popoverService: QdPopoverService;
    protected sizingService: QdPopoverSizingService;
    protected popoverParentService: QdPopoverParentService;
    qdPopoverOnClick: TemplateRef<unknown>;
    positionStrategy?: ConnectedPosition | ConnectedPosition[];
    qdPopoverCloseStrategy: 'onEveryClick' | 'onOutsideClick';
    qdPopoverDisabled: boolean;
    qdPopoverStopPropagation: boolean;
    qdPopoverBackgroundColor?: QdPopoverBackgroundColor;
    qdPopoverMaxHeight: number | 'none';
    qdPopoverMinWidth: number | 'none';
    qdPopoverMaxWidth: number | 'none';
    qdPopoverAutoSize: QdPopoverAutoSizeConfig;
    qdPopoverEnableKeyControl: boolean;
    readonly opened: EventEmitter<any>;
    readonly closed: EventEmitter<any>;
    handleClick(event: MouseEvent): void;
    handleDocumentClick(event: PointerEvent): void;
    handleCloseKeys(): void;
    handleOpenKey(event: KeyboardEvent): void;
    overlayRef: OverlayRef;
    private _host;
    private _popoverRef;
    private _positionStrategyInstance;
    private _subscriptions;
    constructor(hostRef: ElementRef<HTMLElement>, overlayPositionBuilder: OverlayPositionBuilder, overlay: Overlay, popoverService: QdPopoverService, sizingService: QdPopoverSizingService, popoverParentService: QdPopoverParentService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    open(): void;
    close(): void;
    private popoverInstance;
    private initPositionStrategy;
    private createOverlay;
    private runSizingAndOpen;
    private setPopoverContent;
    private subscribeToPopoverClose;
    private subscribeToPositionChange;
    private shouldClosePopover;
    private unsubscribeAll;
    private cleanup;
    static ɵfac: i0.ɵɵFactoryDeclaration<QdPopoverOnClickDirective, [null, null, null, null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<QdPopoverOnClickDirective, "[qdPopoverOnClick]", ["qdPopoverOnClick"], { "qdPopoverOnClick": { "alias": "qdPopoverOnClick"; "required": false; }; "positionStrategy": { "alias": "positionStrategy"; "required": false; }; "qdPopoverCloseStrategy": { "alias": "qdPopoverCloseStrategy"; "required": false; }; "qdPopoverDisabled": { "alias": "qdPopoverDisabled"; "required": false; }; "qdPopoverStopPropagation": { "alias": "qdPopoverStopPropagation"; "required": false; }; "qdPopoverBackgroundColor": { "alias": "qdPopoverBackgroundColor"; "required": false; }; "qdPopoverMaxHeight": { "alias": "qdPopoverMaxHeight"; "required": false; }; "qdPopoverMinWidth": { "alias": "qdPopoverMinWidth"; "required": false; }; "qdPopoverMaxWidth": { "alias": "qdPopoverMaxWidth"; "required": false; }; "qdPopoverAutoSize": { "alias": "qdPopoverAutoSize"; "required": false; }; "qdPopoverEnableKeyControl": { "alias": "qdPopoverEnableKeyControl"; "required": false; }; }, { "opened": "opened"; "closed": "closed"; }, never, never, false, never>;
}
//# sourceMappingURL=popover-on-click.directive.d.ts.map