import { ConnectedPosition, FlexibleConnectedPositionStrategy, OverlayRef } from "@angular/cdk/overlay";
import { Subscription } from "rxjs";
import { IOverlayPositionServiceConfig, OverlayPlacement, OverlayPosition } from "./types";
export declare class OverlayPositionService {
    private overlayPositions;
    private arrowSize;
    private arrowPadding;
    config: IOverlayPositionServiceConfig;
    setOverlayPositionConfig(config?: IOverlayPositionServiceConfig): void;
    updateOffsetOnPositionChanges(positionStrategy: FlexibleConnectedPositionStrategy, getOverlayRef: () => OverlayRef): Subscription;
    private setOverlayOffset;
    getPossiblePositionsForPlacement(placement: OverlayPlacement): ConnectedPosition[];
    private getOverlayPositionPanelClass;
    /**
     * Returns all possible positions for a placement
     * Eg: left => [OVERLAY_POSITIONS[centerLeft], OVERLAY_POSITIONS[topLeft], OVERLAY_POSITIONS[bottomLeft]]
     *
     * @param placement
     * @returns ConnectedPosition[]
     */
    private getPositionsForPlacement;
}
export declare function getOverlayPositions(): Record<OverlayPosition, ConnectedPosition>;
