import { ChangeDetectorRef, ElementRef, Renderer2, TemplateRef } from '@angular/core';
import { Behaviour } from '../../core/enums/behaviour';
import { Feature } from '../../core/enums/feature';
import { Gutter } from '../../core/enums/gutter';
import { Placement } from '../../core/enums/placement';
import { Position } from '../../core/enums/position';
import { Triggers } from '../../core/enums/triggers';
import { BreakpointService } from '../../layout/responsive/breakpoint.service';
import { DeviceService } from '../../layout/responsive/device.service';
export declare class PopoverOptions {
    title: string;
    content: string;
    contentTemplate: TemplateRef<any>;
    trigger: Triggers;
    position: Position;
    placement: Placement;
    maxWidth: string;
    minWidth: string;
    maxHeight: string;
    padding: Gutter;
    features: Feature[];
    behaviour: Behaviour;
    disabled: boolean;
    context: string;
    constructor(defs?: Partial<PopoverOptions>);
}
export declare class PopoverComponent {
    private renderer;
    private hostRef;
    private cd;
    private breakpoint;
    device: DeviceService;
    private observers;
    options: PopoverOptions;
    target: HTMLElement;
    readonly host = "jnt-popover-host";
    get placement(): Placement;
    get context(): string;
    position: any;
    minWidth: string;
    arrow: ElementRef;
    constructor(renderer: Renderer2, hostRef: ElementRef, cd: ChangeDetectorRef, breakpoint: BreakpointService, device: DeviceService);
    private createObserver;
    private getMaxSizes;
    private checkPosition;
    private getPosition;
    show({ nativeElement: target }: {
        nativeElement: HTMLElement;
    }, options?: Partial<PopoverOptions>): void;
    picked(elements: HTMLElement[]): boolean;
    update(): void;
    hide(): void;
}
