import { default as PropTypes } from 'prop-types';
export default Img;
export type ImgExProps = {
    /**
     * - required
     */
    /**
     * - required
     */
    src: string;
    alt?: string | undefined;
    size?: string | undefined;
    position?: string | undefined;
    style?: object | undefined;
    ratio?: number | undefined;
    repeat?: string | undefined;
    width?: number | undefined;
    height?: number | undefined;
    lazy?: boolean | undefined;
    placeholder?: string | undefined;
    fallback?: string | undefined;
    /**
     * - 是否使用代理 fallback, 用于解决 CSP 的问题
     */
    /**
     * - 是否使用代理 fallback, 用于解决 CSP 的问题
     */
    useProxyFallback?: boolean | undefined;
    className?: string | undefined;
    onError?: Function | undefined;
    onSuccess?: Function | undefined;
};
export type ImgProps = ImgExProps & import('@mui/material').BoxProps;
/**
 *
 * @param {ImgProps} props
 * @returns {React.ReactComponentElement}
 */
declare function Img({ lazy, width, height, repeat, ratio, alt, size, position, src, useProxyFallback, placeholder, fallback, style, className, onError, onSuccess, ...rest }: ImgProps): import('react').ReactComponentElement<any, Pick<any, string | number | symbol>>;
declare namespace Img {
    namespace propTypes {
        let src: PropTypes.Validator<string>;
        let alt: PropTypes.Requireable<string>;
        let size: PropTypes.Requireable<string>;
        let position: PropTypes.Requireable<string>;
        let style: PropTypes.Requireable<object>;
        let ratio: PropTypes.Requireable<number>;
        let repeat: PropTypes.Requireable<string>;
        let width: PropTypes.Requireable<number>;
        let height: PropTypes.Requireable<number>;
        let lazy: PropTypes.Requireable<boolean>;
        let placeholder: PropTypes.Requireable<string>;
        let fallback: PropTypes.Requireable<string>;
        let className: PropTypes.Requireable<string>;
        let onError: PropTypes.Requireable<(...args: any[]) => any>;
        let onSuccess: PropTypes.Requireable<(...args: any[]) => any>;
        let useProxyFallback: PropTypes.Requireable<boolean>;
    }
}
