import * as React from "react"; import { IImageProps } from "../Image"; export interface IImageLoadTrackerProps { mount: boolean; type: ImageLoadTrackerType; title: string; subtitle?: string; /** * For the "simple" and "preview" ImageLoadTrackerTypes, we show * some number of images. For detailed this uses a and for * preview it's just a single image. */ images?: IImageProps[]; /** * These 4 methods can be used to tap into the underlying * detail view */ onDetailOpen?: () => void; onDetailClose?: () => void; onDetailOpened?: () => void; onDetailClosed?: () => void; /** * This method is very incomplete. Currently, `onResize` is fired * when the gallery in the `Detailed` version goes from 2 rows to 1 */ onResize?: () => void; onEnter?: () => void; onExit?: () => void; onExited?: () => void; } export declare enum ImageLoadTrackerType { /** * A "simple" tracker type display a clean grey box with a spinner * and a provided title */ Simple = "Simple", Preview = "Preview", Detailed = "Detailed" } interface IImageLoadTrackerState { /** * We keep track of the mount in state * such that we can delay updating */ mount: boolean; } export declare class ImageLoadTracker extends React.Component { state: IImageLoadTrackerState; private timer; componentDidMount(): void; shouldComponentUpdate(nextProps: IImageLoadTrackerProps, nextState: IImageLoadTrackerState): boolean; componentDidUpdate(prevProps: IImageLoadTrackerProps): void; render(): JSX.Element; private handleChangeMountProps; } export {};