import { Optional } from '@angular/core';
import { CoScrollDispatcherService } from "./scroll-dispatcher.service";
/**
 * Simple utility for getting the bounds of the browser viewport.
 * @docs-private
 */
export declare class CoViewportRulerService {
    /** Cached document client rectangle. */
    private _documentRect?;
    constructor(scrollDispatcher: CoScrollDispatcherService);
    /** Gets a ClientRect for the viewport's bounds. */
    getViewportRect(documentRect?: ClientRect): ClientRect;
    /**
     * Gets the (top, left) scroll position of the viewport.
     * @param documentRect
     */
    getViewportScrollPosition(documentRect?: ClientRect): {
        top: number;
        left: number;
    };
    /** Caches the latest client rectangle of the document element. */
    _cacheViewportGeometry(): void;
}
export declare function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler: CoViewportRulerService, scrollDispatcher: CoScrollDispatcherService): CoViewportRulerService;
export declare const VIEWPORT_RULER_PROVIDER: {
    provide: typeof CoViewportRulerService;
    deps: (typeof CoScrollDispatcherService | Optional[])[];
    useFactory: typeof VIEWPORT_RULER_PROVIDER_FACTORY;
};
