/**
 * Scrolls specified element into view of its parent.
 * Note, by default scrolling is done according offsetParent, so, check parent position style if needed.
 * @param {Object} element - The element to be visible.
 * @param {Object} spot - An object with optional top and left properties,
 *   specifying the offset from the top left edge.
 * @param {boolean} skipOverflowHiddenElements - Ignore elements that have
 *   the CSS rule `overflow: hidden;` set. The default is false.
*/
export declare function scrollIntoView(element: HTMLElement, spot: {
    left?: number;
    top?: number;
}, skipOverflowHiddenElements?: boolean, parent?: any | null): void;
/**
 * Limits the rate at which scroll function can fire.
 * Used for smooth scrolling.
 * */
export declare class GcDebounceScroll {
    state: {
        down: boolean;
        lastScrollTop: number;
    };
    private _debounceScrollHandler?;
    private _requestAnimationFrame;
    private _scrollContainer;
    private _cancelUnhandledScrolls;
    private _cancelledScrollValue;
    constructor(scrollContainer: HTMLElement, callback: Function, restoreCancelledScrollCallback?: Function | null | undefined);
    /**
     * Method can be used to change scroll container.
     * @param scrollContainer new scroll container.
     */
    setScrollContainer(scrollContainer: any): void;
    /**
     * Set this property to true if you want to
     * 1. prevent scroll position change until callback is called.
     * 2. enable callback restoreCancelledScrollCallback
     * */
    set cancelUnhandledScrolls(cancel: boolean);
    /**
     * Returns true when cancel unhandled scroll events enabled.
     * */
    get cancelUnhandledScrolls(): boolean;
    destroy(): void;
}
