import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, TemplateRef, OnChanges, SimpleChanges } from '@angular/core';
import { Position } from '../popover.model';
import { DeviceDetectorService } from 'ngx-device-detector';
import { BehaviorSubject } from 'rxjs';
import { PopoverTriggerDirective } from '../directives/popover-trigger.directive';
import { PopoverContentDirective } from '../directives/popover-content.directive';
export interface SdPopover {
    close: () => void;
}
export declare class PopoverComponent implements SdPopover, OnChanges, OnInit, OnDestroy {
    #private;
    private cdRef;
    private deviceService;
    classList: Record<string, boolean>;
    panelId: string;
    isMobileOrTablet: boolean;
    mouseState$: BehaviorSubject<boolean>;
    trigger: PopoverTriggerDirective;
    templateRef: TemplateRef<any>;
    panel: ElementRef<HTMLDivElement>;
    popoverContent: PopoverContentDirective;
    set panelClass(classes: string);
    width: 'lg' | 'md' | 'sm' | string;
    height: string;
    type: 'normal' | 'primary' | 'info' | 'success' | 'warning' | 'danger';
    get position(): Position;
    set position(value: Position);
    readonly closed: EventEmitter<void>;
    readonly opened: EventEmitter<any>;
    _hostClick(targetElement: any): void;
    constructor(cdRef: ChangeDetectorRef, deviceService: DeviceDetectorService);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngOnDestroy(): void;
    close: () => void;
    setPositionClasses: (pos?: Position) => void;
    addArrowTranslateX: (offset: number) => void;
    setMouseState: (visible: boolean) => void;
}
