import { DataVizBase, DataVizData, DataVizID, Downloaded, GeogIdentifier, VizMenuItem, VizWrapperProps } from '../../types';
import React from 'react';
export interface DataVizState {
    dataVizDataCache: DataVizDataCache;
}
/** Data and state of its collection for some dataviz at some geog*/
export interface DataVizDataRecord<T extends DataVizBase = DataVizBase, D extends DataVizData = DataVizData> {
    dataViz: Downloaded<T, D>;
    isLoading: boolean;
    error?: string;
}
export declare type DataVizDataCache = Record<string, DataVizDataRecord>;
export interface DataVizRequest {
    dataVizID: DataVizID;
    geogIdentifier: GeogIdentifier;
}
export declare type ContainerState = DataVizState;
export declare enum DataVizVariant {
    Default = 0,
    Preview = 1,
    Blurb = 2,
    Details = 3
}
export interface MenuItem {
    key: VizMenuItem;
    label: React.ReactNode;
    icon?: React.ReactNode;
}
export declare enum AvailableDialogs {
    Report = 0,
    Share = 1,
    API = 2
}
export interface DataVizDetailsProps extends VizWrapperProps {
}
export interface DataVizMiniProps extends VizWrapperProps {
}
export interface DataVizPreviewProps extends VizWrapperProps {
}
export interface DataVizCardProps extends VizWrapperProps {
}
export interface DataVizStyleProps {
}
export interface ConnectedDataVizProps {
    dataVizID?: DataVizID;
    geogIdentifier?: GeogIdentifier;
    variant: DataVizVariant;
}
