import { ElementRef, AfterContentInit, TemplateRef, AfterViewInit, ViewContainerRef, EventEmitter } from '@angular/core';
import { CoachmarkService } from './coachmark.service';
import { Overlay, OverlayContainer, HorizontalConnectionPos, VerticalConnectionPos } from '@angular/cdk/overlay';
export declare type ArrowPositionType = 'top' | 'bottom' | 'left' | 'right';
export declare class CoachmarkComponent implements AfterContentInit, AfterViewInit {
    private coachmarkService;
    private overlay;
    private overlayContainer;
    viewContainerRef: ViewContainerRef;
    /** @prop the element which is used to set coachmark's position | '' */
    archor: any;
    /** @prop Allows user to click outside of element | false */
    allowClickAway: boolean;
    /** @prop Optional css class string | '' */
    className: string;
    /** @prop Allows Coachmark to be closed by a click from the user | false */
    closeOnClick: boolean;
    /** @prop Sets the time the timer is delayed | 0 */
    delay: number;
    /** @prop Sets the time delay to hide the Coachmark | 0 */
    hideDelay: number;
    /** @prop Sets the initial visibility of Coachmark | false */
    isOpen: boolean;
    /** @prop Sets the maximum width of Coachmark | null */
    maxWidth?: number | string;
    /** @prop Sets the minimum width of Coachmark | null */
    minWidth?: number | string;
    /** @prop Sets the maxHeight height of Coachmark | null */
    maxHeight?: number | string;
    /** @prop Sets the minHeight height of Coachmark | null */
    minHeight?: number | string;
    /** @prop Sets the width of Coachmark | null */
    width?: number | string;
    /** @prop Sets the height of Coachmark | null */
    height?: number | string;
    /** @prop Shows visibility of the delay value | 0 */
    showDelay: number;
    /** @prop Optional overlay positioin | '' */
    originX: HorizontalConnectionPos;
    /** @prop Optional overlay positioin | '' */
    originY: VerticalConnectionPos;
    /** @prop Optional overlay positioin | '' */
    overlayX: HorizontalConnectionPos;
    /** @prop Optional overlay positioin | '' */
    overlayY: VerticalConnectionPos;
    /** @prop Optional set the positon of the arrow | '' */
    arrowPosition: ArrowPositionType;
    /** @prop Optional set the offset of the arrow | '' */
    arrowOffset: number;
    /** @prop Handler to be called when the user clicks the Coachmark | null */
    whenClick: EventEmitter<{}>;
    /** @prop Handler to be called when Coachmark is closed, should be provided when allowClickAway is true | null */
    whenClose: EventEmitter<{}>;
    tempCoachmark: TemplateRef<any>;
    coachmark_close: ElementRef;
    private showTimerId;
    private hideTimerId;
    private overlayRef;
    private tp;
    private positionHash;
    private classArray;
    private ArrowPositionClass;
    constructor(coachmarkService: CoachmarkService, overlay: Overlay, overlayContainer: OverlayContainer, viewContainerRef: ViewContainerRef);
    ngAfterContentInit(): void;
    ngAfterViewInit(): void;
    private initOverlayer;
    private position;
    /**
     * get the offset of the arrow
     * @param cl the left / top of the pop over
     * @param cw the witdh / height of the pop over
     * @param al the left / top of arrow
     * @param aw the witdh / height of arrow
     */
    private setArrowHelp;
    private setArrowPosition;
    /**
     * get the weighted value of the direction
     */
    private checkArrowHelp;
    /**
     * get the direction of the arrow
     */
    private checkArrowName;
    /**
     * Remove the container of head and subhead if no content
     */
    private checkDom;
    private checkEmpty;
    private showContent;
    private dismissContent;
    handleClick: (e: any) => void;
    show: () => void;
    dismiss: () => void;
    delayedShow: () => void;
    delayedHide: () => void;
}
