import { AgingPeriod, Amount, COABalanceWithPercent, TimeframeTick } from '@zeniai/client-epic-state'; export interface LabeledTimeframeTick extends TimeframeTick { label: string; } export type ChartValueType = "actual" | "forecast"; export type ChartValueKey = `${string}_${ChartValueType}`; export declare const getChartValueKey: (id: string, type: ChartValueType) => ChartValueKey; export declare const getIDFromChartValueKey: (key: ChartValueKey) => string; export interface ChartRecordByTimeSeries { record: Record; timeLabel: LabeledTimeframeTick; } export interface ChartData { /** * IMPORTANT: * `orderedKeys` should have ALL the unique IDs present in the complete timeseries record (recordByTimeseries). */ orderedKeys: ChartValueKey[]; /** * IMPORTANT: * For each of the `labeledTimeframeTick` in `timeseries`, * there should be a matching record in `recordByTimeseries` at the SAME index. */ recordByTimeseries: ChartRecordByTimeSeries[]; timeseries: LabeledTimeframeTick[]; } export interface COABalanceWithKey { balance: COABalanceWithPercent; key: ChartValueKey; } export type AgingReportChartValueKey = `${string}_${AgingPeriod}`; export interface ChartRecordByDuration { label: string; record: Record; } export interface AgingReportChartData { durationLabels: string[]; orderedKeys: AgingReportChartValueKey[]; recordByDurations: ChartRecordByDuration[]; } export declare const getAgingReportChartValueKey: (key: string, period: AgingPeriod) => AgingReportChartValueKey; export declare const getAgingReportIDFromAgingReportChartValueKey: (key: AgingReportChartValueKey) => string; export declare const getAgingPeriodFromAgingReportChartValueKey: (key: AgingReportChartValueKey) => "current_due" | "due_1-30_days" | "due_31-60_days" | "due_61-90_days" | "due_over_90_days";