import React from 'react'; import { ListenerEventHandler } from '../utils/addEventListener'; import { getOffset } from '../utils/get'; export interface GetFixedStateParams { positionInfo: OffsetInfo; scrollTop: number; offsetTop: number; } export interface AffixProps { children: React.ReactElement | React.ReactElement[]; renderAffix?: () => React.ReactElement; className?: string; fadeEffect?: boolean; allWidth?: boolean; offsetTop?: number; onChange?: (status: boolean) => void; onScroll?: (params: OffsetInfo & { scrollTop: number; isFixed: boolean; }) => void; getFixedStatus?: ({ positionInfo, scrollTop, offsetTop }: GetFixedStateParams) => boolean; } interface AffixStates { visible: boolean; top: string; left: string; width: string; } declare type OffsetInfo = ReturnType; export default class Affix extends React.Component { prefixCls: string; scrollHandler: ListenerEventHandler; isFixed: boolean; wrapRef: React.RefObject; customRef: React.RefObject; static defaultProps: { offsetTop: number; allWidth: boolean; onChange: () => void; getFixedStatus: ({ positionInfo, scrollTop, offsetTop }: GetFixedStateParams) => boolean; }; constructor(props: AffixProps); componentDidMount(): void; componentWillUnmount(): void; onHandlerScroll: () => void; renderContent(): JSX.Element; render(): JSX.Element; } export {};