import { EventEmitter, OnInit, OnDestroy, Renderer2, ElementRef, TemplateRef, ViewContainerRef } from '@angular/core';
import { PopoverConfig } from './popover.config';
import { ComponentLoaderFactory } from '../utils/component-loader/component-loader.factory';
import { PositioningService } from '../utils/positioning/positioning.service';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
/**
 * A lightweight, extensible directive for fancy popover creation.
 */
export declare class PopoverDirective implements OnInit, OnDestroy {
    private _positionService;
    containerClass: string;
    bodyClass: string;
    headerClass: string;
    /**
     * Content to be displayed as popover.
     */
    mdbPopover: string | TemplateRef<any>;
    /**
     * Title of a popover.
     */
    mdbPopoverHeader: string;
    popoverTitle: string;
    /**
     * Placement of a popover. Accepts: "top", "bottom", "left", "right"
     */
    placement: 'top' | 'bottom' | 'left' | 'right';
    /**
     * Specifies events that should trigger. Supports a space separated list of
     * event names.
     */
    triggers: string;
    /**
     * A selector specifying the element the popover should be appended to.
     * Currently only supports "body".
     */
    container: string;
    /**
     * Returns whether or not the popover is currently being shown
     */
    get isOpen(): boolean;
    set isOpen(value: BooleanInput);
    get dynamicPosition(): boolean;
    set dynamicPosition(value: BooleanInput);
    private _dynamicPosition;
    get outsideClick(): boolean;
    set outsideClick(value: BooleanInput);
    private _outsideClick;
    get popoverDisabled(): boolean;
    set popoverDisabled(value: BooleanInput);
    private _popoverDisabled;
    /**
     * Emits an event when the popover is shown
     */
    onShown: EventEmitter<any>;
    shown: EventEmitter<any>;
    /**
     * Emits an event when the popover is hidden
     */
    onHidden: EventEmitter<any>;
    hidden: EventEmitter<any>;
    private _popover;
    constructor(_elementRef: ElementRef, _renderer: Renderer2, _viewContainerRef: ViewContainerRef, _config: PopoverConfig, cis: ComponentLoaderFactory, _positionService: PositioningService);
    get hasContent(): boolean;
    /**
     * Opens an element’s popover. This is considered a “manual” triggering of
     * the popover.
     */
    show(): void | any;
    /**
     * Closes an element’s popover. This is considered a “manual” triggering of
     * the popover.
     */
    hide(): void;
    /**
     * Toggles an element’s popover. This is considered a “manual” triggering of
     * the popover.
     */
    toggle(): void;
    onclick(event: any): void;
    onblur(): void;
    onTouchStart(event: any): void;
    ngOnInit(): any;
    dispose(): void;
    ngOnDestroy(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<PopoverDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PopoverDirective, "[mdbPopover]", ["bs-mdbPopover"], { "containerClass": "containerClass"; "bodyClass": "bodyClass"; "headerClass": "headerClass"; "mdbPopover": "mdbPopover"; "mdbPopoverHeader": "mdbPopoverHeader"; "popoverTitle": "popoverTitle"; "placement": "placement"; "triggers": "triggers"; "container": "container"; "isOpen": "isOpen"; "dynamicPosition": "dynamicPosition"; "outsideClick": "outsideClick"; "popoverDisabled": "popoverDisabled"; }, { "onShown": "onShown"; "shown": "shown"; "onHidden": "onHidden"; "hidden": "hidden"; }, never, never, false, never>;
}
