///
import { EventEmitter, ComponentInterface } from '../../stencil-public-runtime';
import { LogInstance, Loggable } from '../../utils/log';
import { BalBreakpointObserver, BalBreakpoints } from '../../utils/breakpoints';
export interface PopoverPresentOptions {
force: boolean;
}
export declare class Popover implements ComponentInterface, Loggable, BalBreakpointObserver {
private popoverId;
private popperInstance;
private backdropElement?;
element: HTMLElement;
isTouch: boolean;
isInMainNav: boolean;
backdropHeight: number;
log: LogInstance;
createLogger(log: LogInstance): void;
autoTrigger: boolean;
hint: boolean;
hover: boolean;
arrow: boolean;
backdrop: boolean;
tooltip: boolean;
offsetX: number;
offsetY: number;
padding: number;
position: BalProps.BalPopoverPlacement;
active: boolean;
mobileTop: boolean;
protected activeChanged(newValue: boolean, oldValue: boolean): Promise;
balChange: EventEmitter;
balWillAnimate: EventEmitter;
balDidAnimate: EventEmitter;
balPopoverPrepare: EventEmitter;
componentWillLoad(): void;
componentDidLoad(): void;
componentDidRenderTimer?: NodeJS.Timeout;
componentDidRender(): void;
handlePopoverPrepare(ev: CustomEvent): void;
clickOnOutside(ev: UIEvent): Promise;
handleKeyUp(ev: KeyboardEvent): void;
tabOutside(ev: KeyboardEvent): Promise;
breakpointListener(breakpoints: BalBreakpoints): void;
present(options?: PopoverPresentOptions): Promise;
dismiss(options?: PopoverPresentOptions): Promise;
toggle(options?: PopoverPresentOptions): Promise;
private get footMobileNav();
private get modifierOffset();
private get modifierPreventOverflow();
private get triggerElement();
private get menuElement();
private get menuInnerElement();
private getBackdropHeight;
private updatePopper;
render(): any;
}