import React, { CSSProperties, ImgHTMLAttributes } from 'react';
import './img.less';
declare type LazyImgProps = Exclude<ObjectFitImageProps, 'loadingPlaceholderSrc'>;
export declare const LazyImgCms: React.SFC<LazyImgProps>;
declare type ObjectFitImageProps = ImgHTMLAttributes<HTMLImageElement> & {
    fit?: 'cover' | 'contain' | 'auto';
    loading?: boolean;
    loadingPlaceholderSrc?: string;
    backgroundPosition?: string;
};
interface ObjectFitImageState {
    loaded: boolean;
    error: boolean;
}
/**
 * As object-fit is not supported by MS browsers, let's use a wrapper in place of the raw img.
 * Specifying fit prop is required, otherwise there's no point in using the wrapper.
 */
export declare class ObjectFitImage extends React.Component<ObjectFitImageProps, ObjectFitImageState> {
    image: HTMLImageElement;
    state: {
        loaded: boolean;
        error: boolean;
    };
    static defaultProps: {
        fit: string;
    };
    loadImage: () => void;
    onLoad: () => void;
    onError: () => void;
    componentDidUpdate(oldProps: ObjectFitImageProps): void;
    componentWillUnmount(): void;
    clearOnLoadListener(): void;
    getStyle(): CSSProperties;
    render(): JSX.Element;
}
export {};
//# sourceMappingURL=lazy-img.d.ts.map