import { FormattingRuleType } from '../FormattingRule/types';
import { Section } from '../DataPanelConfig/types';
export declare type HeadingSubSections = Section<'title'> | Section<'subject'>;
export declare type HeadingSection = Section<'heading'> & {
    subSection: Array<HeadingSubSections>;
};
export declare type FormatSubSections = Section<'time'> | Section<'fontSize'> | Section<'direction'>;
export declare type FormatSection = Section<'format'> & {
    subSection: Array<FormatSubSections>;
};
export declare type ChartStylesSubSections = Section<'stacked' | 'curve' | 'legend' | 'numberFormat' | 'labels'>;
export declare type ChartStylesSection = Section<'chartStyles'> & {
    subSection: Array<ChartStylesSubSections>;
};
export interface LabelSection<T> extends Omit<Section<T>, 'type'> {
    prefix: Omit<Section<T>, 'type'>;
    postfix: Omit<Section<T>, 'type'>;
    format?: Omit<Section<T>, 'type'>;
    min?: Omit<Section<T>, 'type'>;
    max?: Omit<Section<T>, 'type'>;
    count: Omit<Section<T>, 'type'>;
    axisTitle?: Omit<Section<T>, 'type'>;
}
export declare type AxisLabelsSection = Section<'axisLabels'> & {
    x: LabelSection<'axisLabels'>;
    y: LabelSection<'axisLabels'>;
    yDual?: LabelSection<'axisLabels'>;
    dualAxes?: Omit<Section<'dualAxes'>, 'type'>;
};
export declare type LabelsSection = Section<'statsLabels'> & LabelSection<'statsLabels'>;
export declare type PrefixSection = Section<'prefixes'>;
export declare type MapColorsSection = Section<'mapColors'>;
export declare type WaterfallColorsSection = Section<'waterfallColors'>;
export declare type HeadlineSection = Section<'headline'>;
export declare type RichTextFormatSection = Section<'richText'>;
export declare type VisualFormatSection = Section<'visualFormat'>;
export declare type KPISummarisationSection = Section<'kpiSummarisation'>;
export declare type FreezeHeadersSection = Section<'freezeHeaders'>;
export declare type FreezeGroupedRowsSection = Section<'freezeGroupedRows'>;
export interface QuadrantsSection extends Section<'quadrants'> {
}
export interface ConditionalFormattingSection extends Section<'conditionalFormatting'> {
    ruleType: FormattingRuleType;
    subSection?: {
        title: string;
        propKey: 'bar' | 'line';
    }[];
}
export interface GoalLineSection extends Section<'goalLine'> {
}
export interface ProgressTypeSection<T> extends Omit<Section<T>, 'type'> {
    progressType?: Omit<Section<T>, 'type'>;
}
export declare type ProgressTypesSection = Section<'progressType'> & ProgressTypeSection<'progressType'>;
export declare type FormatPanelSection = HeadingSection | FormatSection | ChartStylesSection | PrefixSection | AxisLabelsSection | LabelsSection | MapColorsSection | WaterfallColorsSection | QuadrantsSection | ConditionalFormattingSection | GoalLineSection | ProgressTypesSection | HeadlineSection | RichTextFormatSection | VisualFormatSection | KPISummarisationSection | FreezeHeadersSection | FreezeGroupedRowsSection | Section<'trends'>;
export declare type FormatPanelConfig = Array<FormatPanelSection>;
