import { ElementRef } from '@angular/core'; import { Observable } from 'rxjs'; import { ElConnectedPosition, ElFlexibleConnectedPositionStrategy, ElOverlayPositionBuilder, ElOverlayRef, ElPlatform, ElPositionStrategy } from './mapping'; import { ElOverlayContainerAdapter } from '../adapter/overlay-container-adapter'; import { ElViewportRulerAdapter } from '../adapter/viewport-ruler-adapter'; import { ElGlobalLogicalPosition } from './position-helper'; import { GlobalPositionStrategy } from '@angular/cdk/overlay'; export declare enum ElAdjustment { NOOP = "noop", CLOCKWISE = "clockwise", COUNTERCLOCKWISE = "counterclockwise", VERTICAL = "vertical", HORIZONTAL = "horizontal" } export declare enum ElPosition { TOP = "top", BOTTOM = "bottom", LEFT = "left", RIGHT = "right", START = "start", END = "end", TOP_END = "top-end", TOP_START = "top-start", BOTTOM_END = "bottom-end", BOTTOM_START = "bottom-start", END_TOP = "end-top", END_BOTTOM = "end-bottom", START_TOP = "start-top", START_BOTTOM = "start-bottom" } /** * The main idea of the adjustable connected strategy is to provide predefined set of positions for your overlay. * You have to provide adjustment and appropriate strategy will be chosen in runtime. * */ export declare class ElAdjustableConnectedPositionStrategy extends ElFlexibleConnectedPositionStrategy implements ElPositionStrategy { protected _position: ElPosition; protected _offset: number; protected _adjustment: ElAdjustment; protected appliedPositions: { key: ElPosition; connectedPosition: ElConnectedPosition; }[]; readonly positionChange: Observable; attach(overlayRef: ElOverlayRef): void; apply(): void; position(position: ElPosition): this; adjustment(adjustment: ElAdjustment): this; offset(offset: number): this; protected applyPositions(): void; protected createPositions(): ElPosition[]; protected persistChosenPositions(positions: ElPosition[]): void; protected reorderPreferredPositions(positions: ElPosition[]): ElPosition[]; } export declare class ElGlobalPositionStrategy extends GlobalPositionStrategy { position(position: ElGlobalLogicalPosition): this; } export declare class ElPositionBuilderService { protected document: any; protected viewportRuler: ElViewportRulerAdapter; protected platform: ElPlatform; protected positionBuilder: ElOverlayPositionBuilder; protected overlayContainer: ElOverlayContainerAdapter; constructor(document: any, viewportRuler: ElViewportRulerAdapter, platform: ElPlatform, positionBuilder: ElOverlayPositionBuilder, overlayContainer: ElOverlayContainerAdapter); global(): ElGlobalPositionStrategy; connectedTo(elementRef: ElementRef): ElAdjustableConnectedPositionStrategy; }