import { LogicalQuery, SchemaColumn } from './workbook';
import { ChartCategory, HtmlChartSpec, KpiChartSpec, MapChartSpec, TableChartSpec } from './chart';
import { ColumnFormatOverride } from './report-format';
import { VegaTopLevelSpec } from './vega-types';

export type ChartKind = 'vega' | 'table' | 'kpi' | 'html' | 'map';
export type Report = {
    id: number;
    publicId: string;
    persisted: boolean;
    name: string;
    title: string;
    sqlQuery: string;
    version?: number | null;
    result?: {
        data: any[];
        schema: SchemaColumn[];
    } | null;
    error?: string | null;
    vegaSpec?: VegaTopLevelSpec | null;
    createdFromMessageId?: string | null;
    preferences?: {
        activeTab?: 'table' | 'chart';
        shouldShowSql?: boolean;
        columnWidths?: {
            [id: string]: number;
        } | null;
        showColumnTotals?: boolean;
        showRowTotals?: boolean;
        columnFormats?: Record<string, ColumnFormatOverride> | null;
    };
    isLoading?: boolean;
    lastRunSchema?: string | null;
    logicalQuery?: LogicalQuery | null;
    isSourceReport?: boolean;
    sourceName?: string | null;
    cacheUpdatedAt?: number | null;
    chartCategory?: ChartCategory;
    tableChartSpec?: TableChartSpec | null;
    kpiChartSpec?: KpiChartSpec | null;
    htmlChartSpec?: HtmlChartSpec | null;
    mapChartSpec?: MapChartSpec | null;
    kind?: ChartKind | null;
    spec?: string | Record<string, unknown> | TableChartSpec | KpiChartSpec | HtmlChartSpec | MapChartSpec | null;
    pivots?: string[];
    parsedVegaSpec?: VegaTopLevelSpec | null;
};
//# sourceMappingURL=report.d.ts.map