/// <reference types="hoist-non-react-statics" />
import React from 'react';
import { RendererProps } from '../factory';
import { ClassNamesFn, ThemeProps } from '../theme';
import { LocaleProps } from '../locale';
export interface ImageThumbProps extends LocaleProps, ThemeProps {
    src: string;
    originalSrc?: string;
    enlargeAble?: boolean;
    onEnlarge?: (info: ImageThumbProps) => void;
    showDimensions?: boolean;
    title?: string;
    alt?: string;
    index?: number;
    className?: string;
    imageClassName?: string;
    caption?: string;
    thumbMode?: 'w-full' | 'h-full' | 'contain' | 'cover';
    thumbRatio?: '1:1' | '4:3' | '16:9';
    onLoad?: React.EventHandler<any>;
}
export declare class ImageThumb extends React.Component<ImageThumbProps> {
    handleEnlarge(): void;
    render(): JSX.Element;
}
declare const ThemedImageThumb: {
    new (props: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
        locale?: string | undefined;
        translate?: ((str: string, ...args: any[]) => string) | undefined;
    }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
        theme?: string | undefined;
        className?: string | undefined;
        classPrefix?: string | undefined;
        classnames?: ClassNamesFn | undefined;
    }>): {
        render(): JSX.Element;
        context: any;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callback?: (() => void) | undefined): void;
        readonly props: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<{}>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    new (props: Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
        locale?: string | undefined;
        translate?: ((str: string, ...args: any[]) => string) | undefined;
    }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
        theme?: string | undefined;
        className?: string | undefined;
        classPrefix?: string | undefined;
        classnames?: ClassNamesFn | undefined;
    }, context?: any): {
        render(): JSX.Element;
        context: any;
        setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callback?: (() => void) | undefined): void;
        readonly props: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<{}>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, "index" | "caption" | "title" | "locale" | "translate" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            theme?: string | undefined;
            className?: string | undefined;
            classPrefix?: string | undefined;
            classnames?: ClassNamesFn | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    displayName: string;
    contextType: React.Context<string>;
    ComposedComponent: {
        new (props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>): {
            render(): JSX.Element;
            context: any;
            setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
            forceUpdate(callback?: (() => void) | undefined): void;
            readonly props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }> & Readonly<{
                children?: React.ReactNode;
            }>;
            state: Readonly<{}>;
            refs: {
                [key: string]: React.ReactInstance;
            };
            componentDidMount?(): void;
            shouldComponentUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): boolean;
            componentWillUnmount?(): void;
            componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
            getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>): any;
            componentDidUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>, snapshot?: any): void;
            componentWillMount?(): void;
            UNSAFE_componentWillMount?(): void;
            componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
            UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
        };
        new (props: Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, context?: any): {
            render(): JSX.Element;
            context: any;
            setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
            forceUpdate(callback?: (() => void) | undefined): void;
            readonly props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }> & Readonly<{
                children?: React.ReactNode;
            }>;
            state: Readonly<{}>;
            refs: {
                [key: string]: React.ReactInstance;
            };
            componentDidMount?(): void;
            shouldComponentUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): boolean;
            componentWillUnmount?(): void;
            componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
            getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>): any;
            componentDidUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>, snapshot?: any): void;
            componentWillMount?(): void;
            UNSAFE_componentWillMount?(): void;
            componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
            UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
        };
        displayName: string;
        contextType: React.Context<string>;
        ComposedComponent: typeof ImageThumb;
    } & import("hoist-non-react-statics").NonReactStatics<typeof ImageThumb, {}> & {
        ComposedComponent: typeof ImageThumb;
    };
} & import("hoist-non-react-statics").NonReactStatics<{
    new (props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
        locale?: string | undefined;
        translate?: ((str: string, ...args: any[]) => string) | undefined;
    }>): {
        render(): JSX.Element;
        context: any;
        setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callback?: (() => void) | undefined): void;
        readonly props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<{}>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    new (props: Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
        locale?: string | undefined;
        translate?: ((str: string, ...args: any[]) => string) | undefined;
    }, context?: any): {
        render(): JSX.Element;
        context: any;
        setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
        forceUpdate(callback?: (() => void) | undefined): void;
        readonly props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }> & Readonly<{
            children?: React.ReactNode;
        }>;
        state: Readonly<{}>;
        refs: {
            [key: string]: React.ReactInstance;
        };
        componentDidMount?(): void;
        shouldComponentUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): boolean;
        componentWillUnmount?(): void;
        componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
        getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, prevState: Readonly<{}>): any;
        componentDidUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, prevState: Readonly<{}>, snapshot?: any): void;
        componentWillMount?(): void;
        UNSAFE_componentWillMount?(): void;
        componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextContext: any): void;
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextContext: any): void;
        componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
        UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>, nextState: Readonly<{}>, nextContext: any): void;
    };
    displayName: string;
    contextType: React.Context<string>;
    ComposedComponent: typeof ImageThumb;
} & import("hoist-non-react-statics").NonReactStatics<typeof ImageThumb, {}> & {
    ComposedComponent: typeof ImageThumb;
}, {}> & {
    ComposedComponent: {
        new (props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }>): {
            render(): JSX.Element;
            context: any;
            setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
            forceUpdate(callback?: (() => void) | undefined): void;
            readonly props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }> & Readonly<{
                children?: React.ReactNode;
            }>;
            state: Readonly<{}>;
            refs: {
                [key: string]: React.ReactInstance;
            };
            componentDidMount?(): void;
            shouldComponentUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): boolean;
            componentWillUnmount?(): void;
            componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
            getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>): any;
            componentDidUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>, snapshot?: any): void;
            componentWillMount?(): void;
            UNSAFE_componentWillMount?(): void;
            componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
            UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
        };
        new (props: Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
            locale?: string | undefined;
            translate?: ((str: string, ...args: any[]) => string) | undefined;
        }, context?: any): {
            render(): JSX.Element;
            context: any;
            setState<K_1 extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>) => {} | Pick<{}, K_1> | null) | Pick<{}, K_1> | null, callback?: (() => void) | undefined): void;
            forceUpdate(callback?: (() => void) | undefined): void;
            readonly props: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }> & Readonly<{
                children?: React.ReactNode;
            }>;
            state: Readonly<{}>;
            refs: {
                [key: string]: React.ReactInstance;
            };
            componentDidMount?(): void;
            shouldComponentUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): boolean;
            componentWillUnmount?(): void;
            componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
            getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>): any;
            componentDidUpdate?(prevProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, prevState: Readonly<{}>, snapshot?: any): void;
            componentWillMount?(): void;
            UNSAFE_componentWillMount?(): void;
            componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextContext: any): void;
            componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
            UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<ImageThumbProps, "index" | "className" | "caption" | "title" | "classPrefix" | "classnames" | "theme" | "onLoad" | "alt" | "src" | "imageClassName" | "onEnlarge" | "originalSrc" | "enlargeAble" | "showDimensions" | "thumbMode" | "thumbRatio"> & {
                locale?: string | undefined;
                translate?: ((str: string, ...args: any[]) => string) | undefined;
            }>, nextState: Readonly<{}>, nextContext: any): void;
        };
        displayName: string;
        contextType: React.Context<string>;
        ComposedComponent: typeof ImageThumb;
    } & import("hoist-non-react-statics").NonReactStatics<typeof ImageThumb, {}> & {
        ComposedComponent: typeof ImageThumb;
    };
};
export default ThemedImageThumb;
export interface ImageFieldProps extends RendererProps {
    className?: string;
    imageClassName?: string;
    placeholder: string;
    description?: string;
    enlargeTitle?: string;
    enlargeCaption?: string;
    thumbMode: 'w-full' | 'h-full' | 'contain' | 'cover';
    thumbRatio: '1:1' | '4:3' | '16:9';
    originalSrc?: string;
    enlargeAble?: boolean;
    onImageEnlarge?: (info: {
        src: string;
        originalSrc: string;
        title?: string;
        caption?: string;
        thumbMode?: 'w-full' | 'h-full' | 'contain' | 'cover';
        thumbRatio?: '1:1' | '4:3' | '16:9';
    }, target: any) => void;
    showDimensions?: boolean;
}
export declare class ImageField extends React.Component<ImageFieldProps, object> {
    static defaultProps: Pick<ImageFieldProps, 'defaultImage' | 'thumbMode' | 'thumbRatio' | 'placeholder'>;
    handleEnlarge({ src, originalSrc, title, caption, thumbMode, thumbRatio }: ImageThumbProps): void;
    render(): JSX.Element;
}
export declare class ImageFieldRenderer extends ImageField {
}
