/**
 * @license
 * Copyright Google LLC All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://angular.io/license
 */
import { ViewportRuler } from '@angular/cdk/scrolling';
/** Object holding the scroll position of something. */
interface ScrollPosition {
    top: number;
    left: number;
}
/** Keeps track of the scroll position and dimensions of the parents of an element. */
export declare class ParentPositionTracker {
    private _document;
    private _viewportRuler;
    /** Cached positions of the scrollable parent elements. */
    readonly positions: Map<HTMLElement | Document, {
        scrollPosition: ScrollPosition;
        clientRect?: ClientRect | undefined;
    }>;
    constructor(_document: Document, _viewportRuler: ViewportRuler);
    /** Clears the cached positions. */
    clear(): void;
    /** Caches the positions. Should be called at the beginning of a drag sequence. */
    cache(elements: HTMLElement[] | ReadonlyArray<HTMLElement>): void;
    /** Handles scrolling while a drag is taking place. */
    handleScroll(event: Event): ScrollPosition | null;
}
export {};
