import { type NormalisedTextOrSegments } from 'ag-charts-core'; import type { AgAxisLabelFormatterParams, AgBaseAxisLabelStyleOptions, AgTimeIntervalUnit, DateFormatterStyle, FormatterParams } from 'ag-charts-types'; import type { ChartAxisLabelFlipFlag } from '../chartAxis'; export type FormatterCacheKey = `${DateFormatterStyle}:${'year' | 'month' | 'day' | 'none'}`; export interface FormatterCache { type: string; mergedFormat: string | Record; unit: AgTimeIntervalUnit | undefined; formatter: ((value: any, fractionDigits?: number) => string) | undefined; } export type AxisLabelFormatterCache = Record; export declare function createAxisLabelFormatterCache(): AxisLabelFormatterCache; export declare function getAxisLabelSideFlag(mirrored: boolean): ChartAxisLabelFlipFlag; export declare function formatAxisLabelValue(label: (Pick & { formatter?: AgAxisLabelFormatterParams extends never ? never : ((params: AgAxisLabelFormatterParams) => NormalisedTextOrSegments | undefined) | undefined; format?: string | Record; }) | undefined, cache: AxisLabelFormatterCache, callWithContext: (formatter: (params: AgAxisLabelFormatterParams) => NormalisedTextOrSegments | undefined, params: AgAxisLabelFormatterParams) => NormalisedTextOrSegments | undefined, params: FormatterParams, index: number, options?: { specifier?: string | Record; dateStyle: DateFormatterStyle; truncateDate: 'year' | 'month' | 'day' | undefined; }): NormalisedTextOrSegments | undefined;