import { DashboardDataResponse } from '../../../types/Metrics';
import { DashboardVisualisationBucket } from '../dashboard-visualisation/types';
import { UnitType } from '../dashboard-visualisation/Validate';
import { CreateScorecardDataArgs, Scorecard, ScorecardDataset, ScorecardDefinitionType, ScorecardTrend } from './types';
import Buckets from '../../_charts/chart/buckets/Buckets';
import { components } from '../../../types/api';
import { ScorecardGroupDefinitionType } from '../scorecard-group/types';
declare class ScorecardVisualisation {
    private definition;
    private id;
    private measures;
    private options;
    private dataset;
    private bucketsHelper;
    private buckets;
    private valueKey;
    private titleColumn;
    responseData: DashboardDataResponse[];
    ragColours: string[];
    trendSymbols: string[];
    unit: UnitType | undefined;
    withDefinition: (definition: components["schemas"]["DashboardVisualisationDefinition"]) => this;
    withData: (responseData: DashboardDataResponse[]) => this;
    private init;
    private initFromMeasures;
    private initBuckets;
    getDataset: (definition: ScorecardDefinitionType | ScorecardGroupDefinitionType, rawData: DashboardDataResponse[]) => ScorecardDataset;
    createScorecardData: ({ id, title, value, rag, valueFor, valueFrom, prevVal, groupTitle, unit, }: CreateScorecardDataArgs) => Scorecard;
    createTrend: (valueFor: string, valueFrom: string, latestValue: string | number, earliestValue: string | number | null | undefined, unit?: UnitType | undefined) => ScorecardTrend | undefined;
    setRagScore: (value: string | number | undefined | null, rag: number | undefined, buckets: DashboardVisualisationBucket[] | undefined, bucketsHelper: Buckets | undefined) => {
        colour: string;
        score: number;
    } | undefined;
    build: () => Scorecard;
}
export { ScorecardVisualisation };
export default ScorecardVisualisation;
