import { type IInsight, type IInsightDefinition } from "@gooddata/sdk-model";
import { type ISortConfig } from "../../../interfaces/SortConfig.js";
import { type IDrillDownContext, type IExtendedReferencePoint, type IReferencePoint, type IUiConfig, type IVisConstruct, type IVisProps } from "../../../interfaces/Visualization.js";
import { PluggableBaseChart } from "../baseChart/PluggableBaseChart.js";
/**
 * PluggableLineChart
 *
 * ## Buckets
 *
 * | Name      | Id       | Accepts             |
 * |-----------|----------|---------------------|
 * | Measures  | measures | measures only       |
 * | TrendBy   | trend    | attributes or dates |
 * | SegmentBy | segment  | attributes or dates |
 *
 * ### Bucket axioms
 *
 * - |Measures| ≥ 1
 * - |TrendBy| ≤ 1
 * - |SegmentBy| ≤ 1
 * - |SegmentBy| = 1 ⇒ |Measures| = 1
 * - |SegmentBy| = 0 ⇒ |Measures| ≤ 20
 * - |Measures| ≥ 2 ⇒ |SegmentBy| = 0
 *
 * ## Dimensions
 *
 * The PluggableLineChart always creates two dimensional execution.
 *
 * - |SegmentBy| = 1 ⇒ [[...SegmentBy], [...TrendBy, MeasureGroupIdentifier]]
 * - |SegmentBy| = 0 ⇒ [[MeasureGroupIdentifier], [...TrendBy]]
 *
 * ## Sorts
 *
 * The PluggableLineChart does not use any sorts.
 */
export declare class PluggableLineChart extends PluggableBaseChart {
    constructor(props: IVisConstruct);
    getSupportedPropertiesList(): string[];
    getUiConfig(): IUiConfig;
    getExtendedReferencePoint(referencePoint: IReferencePoint): Promise<IExtendedReferencePoint>;
    getInsightWithDrillDownApplied(source: IInsight, drillDownContext: IDrillDownContext, backendSupportsElementUris: boolean): IInsight;
    getSortConfig(referencePoint: IReferencePoint): Promise<ISortConfig>;
    private getBucketMeasures;
    protected configureBuckets(newReferencePoint: IExtendedReferencePoint): void;
    protected renderConfigurationPanel(insight: IInsightDefinition, options: IVisProps): void;
    private configureBucketsWithMultipleDates;
    private addFilters;
    private getDefaultAndAvailableSort;
    private isSortDisabled;
    private setThresholdProperties;
    private isDistinctPointShapesDisabled;
}
//# sourceMappingURL=PluggableLineChart.d.ts.map