/**
 * @license chowa v1.1.3
 *
 * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn).
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */
import * as React from 'react';
import * as PropTypes from 'prop-types';
import AnchorLink, { AnchorLinkProps } from './anchor-link';
export interface AnchorProps {
    className?: string;
    style?: React.CSSProperties;
    affixed?: boolean;
    offsetTop?: number;
    offsetBottom?: number;
    scrollTarget?: () => Window | HTMLElement;
    onSelect?: (link: AnchorLinkProps) => void;
    bounds?: number;
}
export interface AnchorState {
    links: AnchorLinkProps[];
    anchorTops: number[];
    activeIndex: number;
}
declare class Anchor extends React.PureComponent<AnchorProps, AnchorState> {
    static propTypes: {
        className: PropTypes.Requireable<string>;
        style: PropTypes.Requireable<object>;
        affixed: PropTypes.Requireable<boolean>;
        offsetTop: PropTypes.Requireable<number>;
        offsetBottom: PropTypes.Requireable<number>;
        scrollTarget: PropTypes.Requireable<(...args: any[]) => any>;
        onSelect: PropTypes.Requireable<(...args: any[]) => any>;
        bounds: PropTypes.Requireable<number>;
    };
    static defaultProps: {
        affixed: boolean;
        offsetTop: number;
        bounds: number;
        scrollTarget: () => Window & typeof globalThis;
    };
    static Link: typeof AnchorLink;
    private resizeObserver;
    constructor(props: AnchorProps & {
        children: React.ReactElement<any>;
    });
    componentDidMount(): void;
    componentWillUnmount(): void;
    private computedAnchorTops;
    private onScrollHandler;
    render(): JSX.Element;
}
export default Anchor;
