import React from 'react';
import { IProps, HTMLDivProps } from '@uiw/utils';
export interface AffixProps extends IProps, Omit<HTMLDivProps, 'onChange'> {
    /**
     * 距离窗口顶部达到指定偏移量后触发
     */
    offsetTop?: number;
    /**
     * 距离窗口底部达到指定偏移量后触发
     */
    offsetBottom?: number;
    target?: () => Window | HTMLElement | null;
    /**
     * 固定状态改变时触发的回调函数
     */
    onChange?: (affixed?: boolean) => void;
}
export interface AffixState {
    affixStyle?: React.CSSProperties;
    placeholderStyle?: React.CSSProperties;
}
export default class Affix extends React.Component<AffixProps, AffixState> {
    static defaultProps: AffixProps;
    state: AffixState;
    private box;
    private target;
    private readonly events;
    private eventHandlers;
    private timeout?;
    constructor(props: AffixProps & HTMLDivProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    updatePosition(): void;
    setAffixStyle(affixStyle?: React.CSSProperties): void;
    setPlaceholderStyle(placeholderStyle?: React.CSSProperties): void;
    setTargetEventListeners(): void;
    clearEventListeners(): void;
    getInstance: (node: HTMLDivElement) => void;
    render(): React.JSX.Element;
}
