import { Renderer } from './renderer';
import { RendererOptions } from './renderer_types';
import { ChartRenderOptions, StyleDefaults } from './data_styles';
import { Cell, Field, RecordCell } from '../data_tree';
import * as lite from 'vega-lite';
type MappedRow = {
    [p: string]: string | number | Date | undefined | null;
};
export declare abstract class HTMLChartRenderer implements Renderer {
    protected readonly document: Document;
    protected styleDefaults: StyleDefaults;
    protected options: RendererOptions;
    protected timezone?: string | undefined;
    size: string;
    chartOptions: ChartRenderOptions;
    abstract getDataType(field: Field): 'temporal' | 'ordinal' | 'quantitative' | 'nominal';
    abstract getDataValue(data: Cell): Date | string | number | null | undefined;
    mapData(data: RecordCell[]): MappedRow[];
    getSize(): {
        height: number;
        width: number;
    };
    constructor(document: Document, styleDefaults: StyleDefaults, options: RendererOptions, chartOptions?: ChartRenderOptions, timezone?: string | undefined);
    abstract getVegaLiteSpec(data: Cell): lite.TopLevelSpec;
    render(table: Cell): Promise<HTMLElement>;
}
export {};
