/// import * as PropTypes from 'prop-types'; import { BaseComponent } from '../../Utilities'; import { IStickyProps } from './Sticky.types'; import { IScrollablePaneContext } from '../ScrollablePane/ScrollablePane.base'; export interface IStickyState { isStickyTop: boolean; isStickyBottom: boolean; } export interface IStickyContext { scrollablePane: PropTypes.Requireable; } export declare class Sticky extends BaseComponent { static defaultProps: IStickyProps; static contextTypes: IStickyContext; context: IScrollablePaneContext; distanceFromTop: number; private _root; private _stickyContentTop; private _stickyContentBottom; private _nonStickyContent; constructor(props: IStickyProps); readonly root: HTMLDivElement | null; readonly stickyContentTop: HTMLDivElement | null; readonly stickyContentBottom: HTMLDivElement | null; readonly nonStickyContent: HTMLDivElement | null; readonly canStickyTop: boolean; readonly canStickyBottom: boolean; syncScroll: (container: HTMLElement) => void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: IStickyProps, prevState: IStickyState): void; shouldComponentUpdate(nextProps: IStickyProps, nextState: IStickyState): boolean; render(): JSX.Element; addSticky(stickyContent: HTMLDivElement): void; resetSticky(): void; setDistanceFromTop(container: HTMLDivElement): void; private _getContentStyles(isSticky); private _getStickyPlaceholderHeight(isSticky); private _getNonStickyPlaceholderHeight(); private _onScrollEvent; private _getStickyDistanceFromTop; private _getStickyDistanceFromTopForFooter; private _getNonStickyDistanceFromTop; private _getBackground(); }