import { ViewportRuler } from '@angular/cdk/scrolling';
import { ElementRef } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { ResizeService } from '../../directives/resize/index';
import * as i0 from "@angular/core";
export declare class PopoverOrientationService {
    private readonly _resizeService;
    private readonly _viewportRuler;
    createPopoverOrientationListener(element: ElementRef | HTMLElement, parentElement?: ElementRef | HTMLElement): PopoverOrientationListener;
    static ɵfac: i0.ɵɵFactoryDeclaration<PopoverOrientationService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PopoverOrientationService>;
}
export declare class PopoverOrientationListener {
    private readonly _element;
    private readonly _elementParent;
    private readonly _resizeService;
    private readonly _viewportRuler;
    /** Allow subscribing to state changes */
    orientation$: BehaviorSubject<PopoverOrientation>;
    /** Max value the height of the dropdown can be */
    maxHeight: number;
    /** Store the last known position and size */
    private _rect;
    private readonly _onDestroy;
    constructor(_element: HTMLElement, _elementParent: HTMLElement, _resizeService: ResizeService, _viewportRuler: ViewportRuler);
    destroy(): void;
    private onScrollOrResize;
}
export declare const enum PopoverOrientation {
    Up = 0,
    Down = 1
}
