import { Component } from 'react';
import { IconType } from '../icon';
export interface IAvatarProps {
    shape: 'circle' | 'square';
    size: 'small' | 'default' | 'large' | number;
    icon?: IconType;
    src?: string;
    children?: string;
    bordered: boolean;
    style?: React.CSSProperties;
    className?: string;
}
export interface IAvatarState {
    textScale: number;
    textReady: boolean;
    prevChildren?: string;
}
export declare class Avatar extends Component<IAvatarProps, IAvatarState> {
    static defaultProps: {
        shape: string;
        size: string;
        bordered: boolean;
    };
    textNodeRef: import("react").RefObject<HTMLSpanElement>;
    avatarNodeRef: import("react").RefObject<HTMLSpanElement>;
    state: {
        textScale: number;
        textReady: boolean;
    };
    render(): JSX.Element;
    componentDidMount(): void;
    static getDerivedStateFromProps({ children }: IAvatarProps, { prevChildren }: IAvatarState): Partial<IAvatarState> | null;
    componentDidUpdate(prevProps: IAvatarProps): void;
    updateTextScale(): void;
}
export default Avatar;
