import React from 'react';
import { ChartViz, DataVizBase, DataVizID, Downloaded, GeogIdentifier, RowRecord, TableViz, TabularData, Variable } from '../../types';
import { DataVizVariant } from './types';
import { DataVizDetails } from './DataVizDetails';
import { MissingVizMessage } from '../MissingVizMessage';
export declare function getSpecificDataViz(dataViz?: Downloaded<DataVizBase>, error?: string): typeof MissingVizMessage | React.FC<any> | undefined;
export declare function makeKey(dataVizID: DataVizID, geogIdentifier: GeogIdentifier): string;
/**
 * Formats `value` for `variable` per styling data extracted from `variable`.
 * @param {Variable} variable
 * @param {number} value
 */
export declare function formatValue(variable: Variable, value?: string | number | Date): React.ReactNode;
/**
 * Returns the DataViz component based on the supplied variant.
 *
 * @param {DataVizVariant} variant
 */
export declare function getVariantComponent(variant: DataVizVariant): React.MemoExoticComponent<(props: import("./types").DataVizMiniProps) => JSX.Element> | typeof DataVizDetails;
export declare function downloadCSV(dataViz: Downloaded<DataVizBase>): void;
export declare function downloadTable(table: Downloaded<TableViz, TabularData>): void;
export declare function downloadChart(chart: Downloaded<ChartViz, TabularData>): void;
export declare function dumpCSV(data: RowRecord[]): string;
