export declare type Section<Type> = {
    type?: Type;
    title: string;
    description?: string;
    callToAction?: string;
};
export declare type ViewConstants = {
    title: string;
    description: string;
    namespace: ComponentNamespace;
    data_panel: DataPanelNamespaces;
    format_panel: FormatPanelNamespaces;
};
export declare type SubSection<Type> = Section<Type> & {
    namespace?: string;
};
declare type SubSectionDef = {
    line?: SubSection<'metrics'>;
    bar?: SubSection<'metrics'>;
    xAxis?: SubSection<'metrics'>;
    yAxis?: SubSection<'metrics'>;
    zAxis?: SubSection<'metrics'>;
};
export declare type Pagination = {
    options: number[];
};
export interface DataPanelNamespaces {
    combo_chart_dimension?: Section<'comboChartDimension'>;
    comparison?: Section<'comparison'>;
    custom_metrics?: Section<'customMetrics'>;
    data_set: Section<'dataSet'>;
    dateComparison?: Section<'dateComparison'>;
    drilldown?: Section<'drilldown'>;
    field_columns?: Section<'fieldCollector'>;
    field_country?: Section<'fieldCollector'>;
    field_grouping?: Section<'fieldCollector'>;
    field_metrics?: Section<'fieldCollector'>;
    field_rows?: Section<'fieldCollector'>;
    field_x_axis?: Section<'fieldCollector'>;
    field_y_axis?: Section<'fieldCollector'>;
    field_z_axis?: Section<'fieldCollector'>;
    fields?: Section<'fields'>;
    filter?: Section<'filter'>;
    labelled_metrics?: Section<'labelledMetrics'> & {
        subSectionDefinition: SubSectionDef;
    };
    limit?: Section<'limit'>;
    aggregate_metric_group?: Section<'aggregateMetricGroup'>;
    pagination?: Section<'pagination'>;
    progress_goals?: Section<'progressGoals'>;
    sort?: Section<'sort'>;
    views: Section<'views'>;
}
export declare type Namespace = keyof FormatPanelNamespaces | keyof DataPanelNamespaces;
export interface FormatPanelNamespaces {
    axis_labels?: Section<'axisLabels'> & {
        subSectionDefinition: {
            x: SubSection<'axisLabels'>;
            'x.prefix': SubSection<'axisLabels'>;
            'x.postfix': SubSection<'axisLabels'>;
            'x.format': SubSection<'axisLabels'>;
            'x.min'?: SubSection<'axisLabels'>;
            'x.max'?: SubSection<'axisLabels'>;
            'x.count': SubSection<'axisLabels'>;
            'x.axis_title'?: SubSection<'axisLabels'>;
            y: SubSection<'axisLabels'>;
            'y.prefix': SubSection<'axisLabels'>;
            'y.postfix': SubSection<'axisLabels'>;
            'y.format': SubSection<'axisLabels'>;
            'y.min'?: SubSection<'axisLabels'>;
            'y.max'?: SubSection<'axisLabels'>;
            'y.count': SubSection<'axisLabels'>;
            'y.axis_title'?: SubSection<'axisLabels'>;
            yDual?: SubSection<'axisLabels'>;
            'yDual.prefix'?: SubSection<'axisLabels'>;
            'yDual.postfix'?: SubSection<'axisLabels'>;
            'yDual.format'?: SubSection<'axisLabels'>;
            'yDual.min'?: SubSection<'axisLabels'>;
            'yDual.max'?: SubSection<'axisLabels'>;
            'yDual.count'?: SubSection<'axisLabels'>;
            'yDual.axis_title'?: SubSection<'axisLabels'>;
            z?: SubSection<'axisLabels'>;
            'z.prefix'?: SubSection<'axisLabels'>;
            'z.postfix'?: SubSection<'axisLabels'>;
            'z.format'?: SubSection<'axisLabels'>;
            'z.count'?: SubSection<'axisLabels'>;
            'z.axis_title'?: SubSection<'axisLabels'>;
            dual_axes?: SubSection<'dualAxes'>;
        };
    };
    stats_labels?: Section<'statsLabels'> & {
        subSectionDefinition: {
            prefix: SubSection<'statsLabels'>;
            postfix: SubSection<'statsLabels'>;
            format: SubSection<'statsLabels'>;
            count: SubSection<'statsLabels'>;
        };
    };
    rich_text?: Section<'richText'>;
    heading: Section<'heading'> & {
        subSectionDefinition: {
            title: SubSection<'title'>;
            subject: SubSection<'subject'>;
        };
    };
    progress_type?: Section<'progressType'>;
    chart_styles?: Section<'chartStyles'> & {
        subSectionDefinition: {
            stacked?: SubSection<'stacked'>;
            legend?: SubSection<'legend'>;
            labels?: SubSection<'labels'>;
            curve?: SubSection<'curve'>;
            number_format?: SubSection<'numberFormat'>;
        };
    };
    format?: Section<'format'> & {
        subSectionDefinition: {
            time?: SubSection<'time'>;
            font_size?: SubSection<'fontSize'>;
            direction?: SubSection<'direction'>;
        };
    };
    goal_line?: Section<'goalLine'>;
    map_colors?: Section<'mapColors'>;
    waterfall_colors?: Section<'waterfallColors'>;
    headline?: Section<'headline'>;
    trends?: Section<'trends'>;
    prefixes?: Section<'prefixes'>;
    conditional_formatting?: Section<'conditionalFormatting'> & {
        subSectionDefinition?: {
            bar: SubSection<'stacked'>;
            line: SubSection<'stacked'>;
        };
    };
    quadrants?: Section<'quadrants'>;
    visual_format?: Section<'visualFormat'>;
    kpi_summarisation?: Section<'kpiSummarisation'>;
    freeze_headers?: Section<'freezeHeaders'>;
    freeze_grouped_rows?: Section<'freezeGroupedRows'>;
}
export declare type ComponentNamespace = 'area_chart' | 'bar_chart' | 'basic_table' | 'bubble_chart' | 'combo_chart' | 'custom' | 'fields' | 'funnel_chart' | 'headline' | 'horizontal_bar_chart' | 'line_chart' | 'mercator_map' | 'pie_chart' | 'sunburst_chart' | 'pivot_table' | 'progress' | 'rich_text' | 'scatter_chart' | 'single_stat' | 'waterfall_chart' | 'radar_chart';
export {};
