import { AfterContentChecked, AfterContentInit, ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, OnInit, SimpleChange, ViewContainerRef } from '@angular/core';
import { TsPopoverOptions, TsPopoverPosition } from './popover-options';
import { TsPopoverComponent } from './popover.component';
/**
* A directive that adds popover trigger functionality
*
* @example
*
*
* https://getterminus.github.io/ui-demos-release/components/popover
*/
export declare class TsPopoverTriggerDirective implements OnInit, OnDestroy, OnChanges, AfterContentInit, AfterContentChecked {
private viewContainerRef;
private changeDetectorRef;
private elementRef;
private ngZone;
/**
* Define the UID
*/
readonly uid: string;
/**
* Default options for popper
*
* For now we only support click, so it specifies click here. But could support more if needed.
*/
static defaultOptions: TsPopoverOptions;
/**
* Whether current popover is open or not.
*/
isOpen: boolean;
/**
* Whether popover is opened on load.
*/
defaultOpened: boolean;
/**
* Whether popover closes when click outside.
*/
hideOnBlur: boolean;
/**
* Define an ID for the directive
*
* @param value
*/
set id(value: string);
get id(): string;
protected _id: string;
/**
* TsPopoverComponent provided as an input
*/
popover: TsPopoverComponent;
/**
* Set position of where popover opens
*
* @param value
*/
set position(value: TsPopoverPosition);
get position(): TsPopoverPosition;
_position: TsPopoverPosition;
/**
* Emit when create popover.
*/
readonly popoverOnCreate: EventEmitter;
/**
* Emit when popover is shown.
*/
readonly popoverOnShown: EventEmitter;
/**
* Emit when popover is hidden.
*/
readonly popoverOnHidden: EventEmitter;
/**
* Emit when popover is updated.
*/
readonly popoverOnUpdate: EventEmitter;
/**
* Register the click to decide whether it's inside the element or out.
*
* @param targetElement
*/
onClick(targetElement: HTMLElement): void;
constructor(viewContainerRef: ViewContainerRef, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, ngZone: NgZone);
/**
* When directive initiated, it assigns a reference to popover component and also register on click event.
*/
ngOnInit(): void;
/**
* After the default change detector has completed checking all content, it decides on popover status based on defaultOpened input.
*/
ngAfterContentInit(): void;
/**
* Once content is initialized and checked, assign custom id to popover id
*/
ngAfterContentChecked(): void;
/**
* When changes happen, assign current position value to popover's popoverOption
*
* @param changes - SimpleChange
*/
ngOnChanges(changes: {
[propertyName: string]: SimpleChange;
}): void;
/**
* Needed for untilComponentDestroyed
*/
ngOnDestroy(): void;
/**
* Set popover options
*
* @param popperRef - TsPopoverComponent
*/
setContentProperties(popperRef: TsPopoverComponent): void;
/**
* Toggle between show and hide.
*/
toggle(): void;
/**
* Hide the popover.
*/
hide(): void;
/**
* Show the popover.
*/
show(): void;
}