import { PluginObject } from 'vue';
declare module 'vue/types/vue' {
    interface Vue {
        $scrollTo: ScrollTo;
    }
}
export declare enum ScrollToDuration {
    Long = "long",
    Regular = "regular",
    Fast = "fast",
    Instant = "instant"
}
export declare class ScrollTo {
    /**
     * Scroll to top of the current windows
     *
     * @param duration duration of the scroll
     */
    goToTop(duration?: ScrollToDuration): Promise<any>;
    /**
     * Scroll to top of an specified container
     *
     * @param container the HTML container containing the scroll
     * @param duration duration of the scroll
     */
    goToTopInside(container: HTMLElement, duration?: ScrollToDuration): Promise<any>;
    /**
     * Scroll to the bottom of an specified container
     *
     * @param container the HTML container containing the scroll
     * @param duration duration of the scroll
     */
    goToBottomInside(container: HTMLElement, duration?: ScrollToDuration): Promise<any>;
    /**
     * Scroll to the bottom of the windows
     *
     * @param duration duration of the scroll
     */
    goToBottom(duration?: ScrollToDuration): Promise<any>;
    /**
     * Scroll to a specific element or position of the windows
     *
     * @param target the HTML container containing the scroll
     * @param offset the offset to add (in case of a sticky header)
     * @param duration duration of the scroll
     */
    goTo(target: HTMLElement | number, offset: number, duration?: ScrollToDuration): Promise<any>;
    /**
     * Scroll to a specific element of an specified container
     *
     * @param container the HTML container containing the scroll
     * @param target the target HtmlElement
     * @param offset the offset to add (in case of a sticky header)
     * @param duration duration of the scroll
     * @param easing easing function to use
     */
    goToInside(container: HTMLElement, target: HTMLElement | number, offset: number, duration?: ScrollToDuration): Promise<any>;
    private internalScroll;
    private disableScrollEvent;
    private enableScrollEvent;
    private preventDefault;
    private maxContainerScroll;
    private maxWindowScroll;
    private getDocumentHeight;
    private getWindowHeight;
    private getDuration;
}
declare const ScrollToPlugin: PluginObject<any>;
export default ScrollToPlugin;
//# sourceMappingURL=scroll-to.d.ts.map