import { type IBucketItem, type IBucketOfFun, type IExtendedReferencePoint, type IUiConfig } from "../../../interfaces/Visualization.js"; /** * Distributes measures between SIZE, COLOR, and MEASURES buckets based on user preferences. * Primary measures go to SIZE, secondary measures go to COLOR, tooltip metric measures go to MEASURES. * MEASURES is independent and can coexist with SIZE and COLOR. * * @param buckets - All buckets from the reference point * @param uiConfig - UI configuration containing bucket item limits * @returns Object with sizeMeasures, colorMeasures, and metricMeasures arrays * @internal */ export declare function distributeMeasures(buckets: IBucketOfFun[], uiConfig: IUiConfig): { sizeMeasures: IBucketItem[]; colorMeasures: IBucketItem[]; metricMeasures: IBucketItem[]; }; /** * Selects measures for a bucket, applying limits and excluding already-assigned measures. * * @param preferredMeasures - Measures explicitly assigned to this bucket * @param allMeasures - All available measures * @param excludeMeasures - Measures already assigned to another bucket * @param bucketName - Name of the bucket (for looking up limits) * @param uiConfig - UI configuration containing bucket item limits * @returns Filtered and limited measures array * @internal */ export declare function selectMeasuresForBucket(preferredMeasures: IBucketItem[], allMeasures: IBucketItem[], excludeMeasures: IBucketItem[], bucketName: string, uiConfig: IUiConfig): IBucketItem[]; /** * Creates the final bucket configuration with location, size, color, metric, and segment buckets. * * @param buckets - All buckets from the reference point * @param sizeMeasures - Measures to place in SIZE bucket * @param colorMeasures - Measures to place in COLOR bucket * @param metricMeasures - Measures to place in MEASURES bucket * @param uiConfig - UI configuration containing bucket item limits * @returns Array of configured buckets * @internal */ export declare function createConfiguredBuckets(buckets: IBucketOfFun[], sizeMeasures: IBucketItem[], colorMeasures: IBucketItem[], metricMeasures: IBucketItem[], uiConfig: IUiConfig): IBucketOfFun[]; /** * Extracts location attribute items from buckets. * * @param buckets - All buckets from the reference point * @param uiConfig - UI configuration containing bucket item limits * @returns Filtered location items * @internal */ export declare function getLocationItems(buckets: IBucketOfFun[], uiConfig: IUiConfig): IBucketItem[]; /** * Extracts segment attribute items from buckets. * Excludes location attributes and date attributes when location is present. * * @param buckets - All buckets from the reference point * @returns Filtered segment items (max 1) * @internal */ export declare function getSegmentItems(buckets: IBucketOfFun[], hasLocation: boolean): IBucketItem[]; /** * Removes arithmetic and derived measures from the reference point. * Geo pushpin charts don't support these measure types. * * @param extendedReferencePoint - The reference point to sanitize * @returns Sanitized reference point without arithmetic or derived measures * @internal */ export declare function sanitizeMeasures(extendedReferencePoint: IExtendedReferencePoint): IExtendedReferencePoint; //# sourceMappingURL=geoPushpinBucketHelper.d.ts.map