@harbortouch/skytab-analytics-report-utils 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -658,11 +658,13 @@ var dailySalesPaymentsConfig = {
658
658
  var FIRST_COLUMN_WIDTH6 = 240;
659
659
  var FIELDS9 = {
660
660
  discountName: { type: "string", columnKey: "discountName", size: FIRST_COLUMN_WIDTH6 },
661
- discountsCount: { type: "number", columnKey: "discountCount", footerCalculation: { type: "sum" } },
661
+ ticketCount: { type: "number", columnKey: "ticketCount", footerCalculation: { type: "sum" } },
662
+ itemCount: { type: "number", columnKey: "itemCount", footerCalculation: { type: "sum" } },
662
663
  discountsAmount: { type: "money", columnKey: "discountAmount", footerCalculation: { type: "sum" } }
663
664
  };
664
665
  var DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS = [
665
- "discountsCount",
666
+ "ticketCount",
667
+ "itemCount",
666
668
  "discountsAmount"
667
669
  ];
668
670
  var DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS = DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS;
@@ -970,10 +972,15 @@ var COLUMN_REGISTRY = {
970
972
  shortTitleKey: "common.report-col.discount-amount.short",
971
973
  infoTextKey: "common.report-col.discount-amount.info"
972
974
  },
973
- discountCount: {
974
- titleKey: "common.report-col.discount-count",
975
- shortTitleKey: "common.report-col.discount-count.short",
976
- infoTextKey: "common.report-col.discount-count.info"
975
+ ticketCount: {
976
+ titleKey: "common.report-col.ticket-count",
977
+ shortTitleKey: "common.report-col.ticket-count.short",
978
+ infoTextKey: "common.report-col.ticket-count.info"
979
+ },
980
+ itemCount: {
981
+ titleKey: "common.report-col.item-count",
982
+ shortTitleKey: "common.report-col.item-count.short",
983
+ infoTextKey: "common.report-col.item-count.info"
977
984
  },
978
985
  discover: {
979
986
  titleKey: "common.report-col.discover",
@@ -1,10 +1,10 @@
1
- export type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'discountCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | 'locationId' | 'locationMid' | 'locationName' | 'locationState' | 'mastercard' | 'mcReturns' | 'modifierName' | 'modifierPrice' | 'modifierQuantity' | 'netSales' | 'netTaxCollected' | 'netTips' | 'numberOfGuests' | 'orderType' | 'paymentType' | 'payrollId' | 'quantity' | 'referenceNumber' | 'refundAmount' | 'refundedTaxAmount' | 'revenueCenter' | 'revenueClass' | 'salesVarLw' | 'salesVarLwPct' | 'salesVarLy' | 'salesVarLyPct' | 'salesMixByPct' | 'salesPerGuest' | 'salesPerGuestLw' | 'salesPerGuestLy' | 'scheduledShiftEnd' | 'scheduledShiftStart' | 'settlementBatchDate' | 'shiftDurationHrs' | 'subtotal' | 'taxCollected' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'status';
2
- export interface ColumnMetadata {
1
+ type ReportColumnKey = 'fifteenMinInterval' | 'adjustedTips' | 'advantageProgram' | 'amex' | 'amexReturns' | 'attachRate' | 'autoGratuity' | 'averageGrossPrice' | 'bankFees' | 'batchAmount' | 'batchDate' | 'batchNumber' | 'clockInTime' | 'clockOutTime' | 'country' | 'customerName' | 'date' | 'dateClose' | 'daypart' | 'debit' | 'debitReturns' | 'declaredTips' | 'department' | 'depositCurrency' | 'depositDate' | 'discountAmount' | 'ticketCount' | 'itemCount' | 'discover' | 'discoverReturns' | 'ebt' | 'ebtReturns' | 'employeeId' | 'employeeJob' | 'employeeName' | 'exemptTaxes' | 'grandTotal' | 'grossCashSales' | 'grossCashTips' | 'grossCreditCardTips' | 'grossCreditSales' | 'grossSales' | 'grossTips' | 'guestCount' | 'guestsVarLw' | 'guestsVarLwPct' | 'guestsVarLy' | 'guestsVarLyPct' | 'hour' | 'hoursWorked' | 'inclusiveTax' | 'itemName' | 'itemPrice' | 'locationCity' | 'locationId' | 'locationMid' | 'locationName' | 'locationState' | 'mastercard' | 'mcReturns' | 'modifierName' | 'modifierPrice' | 'modifierQuantity' | 'netSales' | 'netTaxCollected' | 'netTips' | 'numberOfGuests' | 'orderType' | 'paymentType' | 'payrollId' | 'quantity' | 'referenceNumber' | 'refundAmount' | 'refundedTaxAmount' | 'revenueCenter' | 'revenueClass' | 'salesVarLw' | 'salesVarLwPct' | 'salesVarLy' | 'salesVarLyPct' | 'salesMixByPct' | 'salesPerGuest' | 'salesPerGuestLw' | 'salesPerGuestLy' | 'scheduledShiftEnd' | 'scheduledShiftStart' | 'settlementBatchDate' | 'shiftDurationHrs' | 'subtotal' | 'taxCollected' | 'taxName' | 'taxRate' | 'taxableSales' | 'ticketClosed' | 'ticketFee' | 'ticketNumber' | 'ticketOpen' | 'ticketTotal' | 'timeOpenMins' | 'tipPct' | 'tipReduction' | 'tipShare' | 'tips' | 'tipsPerHour' | 'totalCollected' | 'totalItemSales' | 'totalModifierSales' | 'totalReturns' | 'totalSales' | 'totalTips' | 'transactionDate' | 'transactionType' | 'untaxedSales' | 'visa' | 'visaReturns' | 'paymentsCount' | 'paymentsAmount' | 'paymentsTotal' | 'refundVoidDescription' | 'refundVoidCount' | 'refundVoidAmount' | 'refundVoidPctSales' | 'discountName' | 'tickets' | 'guests' | 'ticketAverage' | 'guestAverage' | 'net' | 'salePaymentType' | 'status';
2
+ interface ColumnMetadata {
3
3
  titleKey: string;
4
4
  shortTitleKey: string;
5
5
  infoTextKey: string;
6
6
  }
7
- export declare const COLUMN_REGISTRY: {
7
+ declare const COLUMN_REGISTRY: {
8
8
  readonly fifteenMinInterval: {
9
9
  readonly titleKey: "common.report-col.fifteen-min-interval";
10
10
  readonly shortTitleKey: "common.report-col.fifteen-min-interval.short";
@@ -135,10 +135,15 @@ export declare const COLUMN_REGISTRY: {
135
135
  readonly shortTitleKey: "common.report-col.discount-amount.short";
136
136
  readonly infoTextKey: "common.report-col.discount-amount.info";
137
137
  };
138
- readonly discountCount: {
139
- readonly titleKey: "common.report-col.discount-count";
140
- readonly shortTitleKey: "common.report-col.discount-count.short";
141
- readonly infoTextKey: "common.report-col.discount-count.info";
138
+ readonly ticketCount: {
139
+ readonly titleKey: "common.report-col.ticket-count";
140
+ readonly shortTitleKey: "common.report-col.ticket-count.short";
141
+ readonly infoTextKey: "common.report-col.ticket-count.info";
142
+ };
143
+ readonly itemCount: {
144
+ readonly titleKey: "common.report-col.item-count";
145
+ readonly shortTitleKey: "common.report-col.item-count.short";
146
+ readonly infoTextKey: "common.report-col.item-count.info";
142
147
  };
143
148
  readonly discover: {
144
149
  readonly titleKey: "common.report-col.discover";
@@ -651,7 +656,7 @@ export declare const COLUMN_REGISTRY: {
651
656
  readonly infoTextKey: "common.report-col.net.info";
652
657
  };
653
658
  };
654
- export declare function getColumnMetadata(key: ReportColumnKey): {
659
+ declare function getColumnMetadata(key: ReportColumnKey): {
655
660
  readonly titleKey: "common.report-col.fifteen-min-interval";
656
661
  readonly shortTitleKey: "common.report-col.fifteen-min-interval.short";
657
662
  readonly infoTextKey: "common.report-col.fifteen-min-interval.info";
@@ -756,9 +761,13 @@ export declare function getColumnMetadata(key: ReportColumnKey): {
756
761
  readonly shortTitleKey: "common.report-col.discount-amount.short";
757
762
  readonly infoTextKey: "common.report-col.discount-amount.info";
758
763
  } | {
759
- readonly titleKey: "common.report-col.discount-count";
760
- readonly shortTitleKey: "common.report-col.discount-count.short";
761
- readonly infoTextKey: "common.report-col.discount-count.info";
764
+ readonly titleKey: "common.report-col.ticket-count";
765
+ readonly shortTitleKey: "common.report-col.ticket-count.short";
766
+ readonly infoTextKey: "common.report-col.ticket-count.info";
767
+ } | {
768
+ readonly titleKey: "common.report-col.item-count";
769
+ readonly shortTitleKey: "common.report-col.item-count.short";
770
+ readonly infoTextKey: "common.report-col.item-count.info";
762
771
  } | {
763
772
  readonly titleKey: "common.report-col.discover";
764
773
  readonly shortTitleKey: "common.report-col.discover.short";
@@ -1168,4 +1177,171 @@ export declare function getColumnMetadata(key: ReportColumnKey): {
1168
1177
  readonly shortTitleKey: "common.report-col.net.short";
1169
1178
  readonly infoTextKey: "common.report-col.net.info";
1170
1179
  };
1171
- export declare function getColumnExportHeaderLabel(colTitle: string, groupTitle: string | null): string;
1180
+ declare function getColumnExportHeaderLabel(colTitle: string, groupTitle: string | null): string;
1181
+
1182
+ type FieldType = 'string' | 'money' | 'percent' | 'number' | 'fixedNumber' | 'date' | 'time' | 'boolean';
1183
+ type ColumnAlignment = 'left' | 'right';
1184
+ type FooterCalculationType = 'sum' | 'percentChange' | 'average' | 'none';
1185
+ interface FooterCalculation<TField = string> {
1186
+ type: FooterCalculationType;
1187
+ numeratorField?: TField;
1188
+ denominatorField?: TField;
1189
+ }
1190
+ interface ColumnPresentationConfig<TField = string> {
1191
+ columnKey?: ReportColumnKey;
1192
+ type: FieldType;
1193
+ size?: number;
1194
+ enableSorting?: boolean;
1195
+ filteringAvailable?: boolean;
1196
+ footerCalculation?: FooterCalculation<TField>;
1197
+ }
1198
+ interface ColumnGroupConfig {
1199
+ id: string;
1200
+ headerTranslationKey: string;
1201
+ baseFields: string[];
1202
+ lastWeekFields?: string[];
1203
+ lastYearFields?: string[];
1204
+ }
1205
+ interface ReportConfig<TField extends string = string> {
1206
+ fields: Record<TField, ColumnPresentationConfig<TField>>;
1207
+ availableColumns: TField[];
1208
+ defaultVisibleColumns: TField[];
1209
+ columnGroups?: ColumnGroupConfig[];
1210
+ }
1211
+
1212
+ declare const Report: {
1213
+ readonly TICKET_LIVE: "ticket-live";
1214
+ readonly TICKET_ANALYTICS: "ticket-analytics";
1215
+ readonly SALES_SUMMARY: "sales-summary";
1216
+ readonly PRODUCT_MIX: "product-mix";
1217
+ readonly MODIFIER_MIX: "modifier-mix";
1218
+ readonly ITEM_TAX: "item-tax";
1219
+ readonly EMPLOYEE_TIMECARD: "employee-timecard";
1220
+ readonly EMPLOYEE_TIP: "employee-tip";
1221
+ readonly SALES_BY_ITEM: "sales-by-item";
1222
+ readonly DAILY_SALES: "daily-sales";
1223
+ readonly DAILY_SALES_LIVE: "daily-sales-live";
1224
+ };
1225
+ type ReportType = (typeof Report)[keyof typeof Report];
1226
+ declare const getReportConfig: (reportType: ReportType) => ReportConfig<string> | null;
1227
+
1228
+ declare function getColumnAlignment(type?: FieldType): ColumnAlignment;
1229
+ declare function isNumericType(type?: FieldType): boolean;
1230
+
1231
+ interface CalculateReportTotalsOptions {
1232
+ labelField: string;
1233
+ label: string;
1234
+ }
1235
+ declare function calculateReportTotals<T>(data: T[], fieldConfig: Record<string, ColumnPresentationConfig>, opts: CalculateReportTotalsOptions): T;
1236
+
1237
+ type SalesSummaryField = 'groupById' | 'groupByName' | 'salesAmountNet' | 'salesVarLW' | 'salesVarLY' | 'salesVarLWPct' | 'salesVarLYPct' | 'salesAmountNetLastWeek' | 'salesAmountNetLastYear' | 'salesAmountGross' | 'salesAmountGrossLastWeek' | 'salesAmountGrossLastYear' | 'ticketsCount' | 'ticketsCountLastWeek' | 'ticketsCountLastYear' | 'guestsCount' | 'guestsVarLW' | 'guestsVarLY' | 'guestsVarLWPct' | 'guestsVarLYPct' | 'guestsCountLastWeek' | 'guestsCountLastYear' | 'salesPerGuestTY' | 'salesPerGuestLW' | 'salesPerGuestLY';
1238
+ declare const SALES_SUMMARY_AVAILABLE_COLUMNS: SalesSummaryField[];
1239
+ declare const SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS: SalesSummaryField[];
1240
+ declare const salesSummaryConfig: ReportConfig<SalesSummaryField>;
1241
+
1242
+ type TicketSummaryField = 'ticketId' | 'locationId' | 'orderName' | 'revenueCenterName' | 'daypartName' | 'inclusiveTaxesAmount' | 'locationName' | 'orderNumber' | 'businessDate' | 'ticketOpenedAt' | 'ticketClosedAt' | 'ticketTime' | 'ticketSubtotal' | 'discountsAmount' | 'surchargesAmount' | 'taxesAmount' | 'ticketGrandTotal' | 'gratuitiesAmount' | 'tipAmount' | 'paymentsAmount' | 'paymentTypeName' | 'guestsCount' | 'employeeName' | 'orderTypeName';
1243
+ declare const TICKET_SUMMARY_AVAILABLE_COLUMNS: TicketSummaryField[];
1244
+ declare const TICKET_SUMMARY_DEFAULT_VISIBLE_COLUMNS: TicketSummaryField[];
1245
+ declare const ticketSummaryConfig: ReportConfig<TicketSummaryField>;
1246
+
1247
+ type TicketLiveField = 'locationName' | 'orderNumber' | 'dateOpen' | 'timeOpen' | 'dateClose' | 'timeClose' | 'durationMinutes' | 'subtotal' | 'discountTotal' | 'surchargeTotal' | 'taxTotal' | 'grandTotal' | 'gratuityTotal' | 'totalTips' | 'paymentsReceived' | 'paymentTypeName' | 'guestCount' | 'customerName' | 'employeeName' | 'orderType';
1248
+ declare const TICKET_LIVE_AVAILABLE_COLUMNS: TicketLiveField[];
1249
+ declare const TICKET_LIVE_DEFAULT_VISIBLE_COLUMNS: TicketLiveField[];
1250
+ declare const ticketLiveConfig: ReportConfig<TicketLiveField>;
1251
+
1252
+ type ProductMixField = 'groupById' | 'groupByName' | 'salesAmountGross' | 'discountsAmount' | 'inclusiveTaxesAmount' | 'salesAmountNet' | 'itemsQuantity' | 'avgPrice' | 'salesMixPct';
1253
+ declare const PRODUCT_MIX_AVAILABLE_COLUMNS: ProductMixField[];
1254
+ declare const PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS: ProductMixField[];
1255
+ declare const PRODUCT_MIX_CHART_FIELDS: ProductMixField[];
1256
+ declare const productMixConfig: ReportConfig<ProductMixField>;
1257
+
1258
+ type ModifierMixField = 'groupById' | 'groupByName' | 'groupById2' | 'groupByName2' | 'modifiersSales' | 'modifiersQuantity' | 'itemsQuantity' | 'avgGross' | 'attachRate' | 'modifiersSalesComp' | 'modifiersQuantityComp' | 'itemsQuantityComp' | 'attachRateComp' | 'modifiersSalesVar' | 'modifiersSalesVarPct' | 'modifiersQuantityVar' | 'modifiersQuantityVarPct' | 'attachRateVar' | 'attachRateVarPct';
1259
+ declare const MODIFIER_MIX_AVAILABLE_COLUMNS: ModifierMixField[];
1260
+ declare const MODIFIER_MIX_DEFAULT_VISIBLE_COLUMNS: ModifierMixField[];
1261
+ declare const modifierMixConfig: ReportConfig<ModifierMixField>;
1262
+
1263
+ type ItemTaxField = 'locationId' | 'taxIsFlat' | 'merchantId' | 'locationName' | 'locationCity' | 'locationState' | 'itemName' | 'itemPrice' | 'departmentName' | 'revenueClassName' | 'orderTypeName' | 'taxName' | 'taxValue' | 'taxRate' | 'recordsCount' | 'taxableSales' | 'totalCollected' | 'itemTax' | 'taxCollected';
1264
+ declare const ITEM_TAX_AVAILABLE_COLUMNS: ItemTaxField[];
1265
+ declare const ITEM_TAX_DEFAULT_VISIBLE_COLUMNS: ItemTaxField[];
1266
+ declare const itemTaxConfig: ReportConfig<ItemTaxField>;
1267
+
1268
+ type DailySalesField = 'groupById' | 'groupByName' | 'itemsQuantity' | 'salesAmountGross' | 'discountsAmount' | 'inclusiveTaxesAmount' | 'salesAmountNet' | 'salesMixPct' | 'avgPrice' | 'ticketsCount' | 'guestsCount' | 'ticketAverage' | 'guestAverage' | 'ticketAvg' | 'guestAvg';
1269
+ declare const DAILY_SALES_AVAILABLE_COLUMNS: DailySalesField[];
1270
+ declare const DAILY_SALES_BY_GROUP_AVAILABLE_COLUMNS: DailySalesField[];
1271
+ declare const DAILY_SALES_DEFAULT_VISIBLE_COLUMNS: DailySalesField[];
1272
+ declare const dailySalesConfig: ReportConfig<DailySalesField>;
1273
+ declare const DAILY_SALES_TRENDS_AVAILABLE_COLUMNS: DailySalesField[];
1274
+ declare const dailySalesTrendsConfig: ReportConfig<DailySalesField>;
1275
+
1276
+ type DailySalesPaymentsField = 'paymentTypeName' | 'paymentsCount' | 'paymentsAmount' | 'tipsAmount' | 'totalSales';
1277
+ declare const DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS: DailySalesPaymentsField[];
1278
+ declare const DAILY_SALES_PAYMENTS_DEFAULT_VISIBLE_COLUMNS: DailySalesPaymentsField[];
1279
+ declare const dailySalesPaymentsConfig: ReportConfig<DailySalesPaymentsField>;
1280
+
1281
+ type DailySalesDiscountsField = 'discountName' | 'ticketCount' | 'itemCount' | 'discountsAmount';
1282
+ declare const DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS: DailySalesDiscountsField[];
1283
+ declare const DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS: DailySalesDiscountsField[];
1284
+ declare const dailySalesDiscountsConfig: ReportConfig<DailySalesDiscountsField>;
1285
+
1286
+ type DailySalesRefundsVoidsField = 'description' | 'count' | 'amount' | 'pctSales';
1287
+ declare const DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS: DailySalesRefundsVoidsField[];
1288
+ declare const DAILY_SALES_REFUNDS_VOIDS_DEFAULT_VISIBLE_COLUMNS: DailySalesRefundsVoidsField[];
1289
+ declare const dailySalesRefundsVoidsConfig: ReportConfig<DailySalesRefundsVoidsField>;
1290
+
1291
+ type DailySalesTaxesField = 'taxName' | 'taxableSales' | 'taxesAmount' | 'exemptSales';
1292
+ declare const DAILY_SALES_TAXES_AVAILABLE_COLUMNS: DailySalesTaxesField[];
1293
+ declare const DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS: DailySalesTaxesField[];
1294
+ declare const dailySalesTaxesConfig: ReportConfig<DailySalesTaxesField>;
1295
+
1296
+ type EmployeeTimecardField = 'locationId' | 'locationName' | 'businessDate' | 'employeeName' | 'isActive' | 'lookup' | 'payrollCode' | 'jobName' | 'isBreak' | 'startTime' | 'endTime' | 'shiftHours';
1297
+ declare const EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS: EmployeeTimecardField[];
1298
+ declare const EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS: EmployeeTimecardField[];
1299
+ declare const employeeTimecardConfig: ReportConfig<EmployeeTimecardField>;
1300
+
1301
+ type SalesByItemDetailField = 'businessDate' | 'ticketClosedAt' | 'hourId' | 'daypartName' | 'locationId' | 'locationName' | 'departmentName' | 'itemName' | 'revenueCenterName' | 'revenueClassName' | 'salesAmountGross' | 'itemsQuantity' | 'transactionId' | 'guestsCount' | 'employeeName' | 'orderTypeName' | 'salesType' | 'itemPrice';
1302
+ declare const SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS: SalesByItemDetailField[];
1303
+ declare const SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS: SalesByItemDetailField[];
1304
+ declare const salesByItemDetailConfig: ReportConfig<SalesByItemDetailField>;
1305
+
1306
+ type TimeFormat = '00:00' | '00:00:00' | '00:00-24H';
1307
+ interface LocaleOption {
1308
+ currency: string;
1309
+ locale: string;
1310
+ }
1311
+ interface FormatDateOptions {
1312
+ locale?: string;
1313
+ timeZone?: string;
1314
+ format?: TimeFormat;
1315
+ }
1316
+ interface FormatTimeOptions {
1317
+ locale?: string;
1318
+ timeZone?: string;
1319
+ format: TimeFormat;
1320
+ }
1321
+ interface FormatMoneyOptions {
1322
+ locale?: string;
1323
+ currency?: string;
1324
+ decimals?: number;
1325
+ }
1326
+ interface FormatNumberOptions {
1327
+ locale?: string;
1328
+ decimals?: number;
1329
+ }
1330
+ declare const formatDate: (date: Date, options?: FormatDateOptions) => string;
1331
+ declare const formatTime: (date: Date | string | number, options: FormatTimeOptions) => string;
1332
+ declare const formatMoney: (amount: number, options?: FormatMoneyOptions) => string;
1333
+ declare const formatPercent: (value: number, decimals?: number) => string;
1334
+ declare const formatInteger: (value: number) => string;
1335
+ declare const formatFixedNumber: (value: number, decimals?: number) => string;
1336
+ declare const formatString: (value: unknown) => string;
1337
+ declare const getNumberToFormat: (value: unknown) => number;
1338
+ declare const getDateToFormat: (value?: unknown) => Date | null;
1339
+ declare const formatMoneyWithoutSymbol: (amount: number, options?: FormatNumberOptions) => string;
1340
+ declare const getReportFormattingLocaleOptions: (locations: {
1341
+ currency: string;
1342
+ countryCode: string;
1343
+ language: string;
1344
+ }[]) => LocaleOption[];
1345
+ declare const formatFieldValue: (value: unknown, type: FieldType, localeOptions: LocaleOption) => string;
1346
+
1347
+ export { COLUMN_REGISTRY, type CalculateReportTotalsOptions, type ColumnAlignment, type ColumnGroupConfig, type ColumnMetadata, type ColumnPresentationConfig, DAILY_SALES_AVAILABLE_COLUMNS, DAILY_SALES_BY_GROUP_AVAILABLE_COLUMNS, DAILY_SALES_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_DISCOUNTS_AVAILABLE_COLUMNS, DAILY_SALES_DISCOUNTS_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_PAYMENTS_AVAILABLE_COLUMNS, DAILY_SALES_PAYMENTS_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_REFUNDS_VOIDS_AVAILABLE_COLUMNS, DAILY_SALES_REFUNDS_VOIDS_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_TAXES_AVAILABLE_COLUMNS, DAILY_SALES_TAXES_DEFAULT_VISIBLE_COLUMNS, DAILY_SALES_TRENDS_AVAILABLE_COLUMNS, EMPLOYEE_TIMECARD_AVAILABLE_COLUMNS, EMPLOYEE_TIMECARD_DEFAULT_VISIBLE_COLUMNS, type FieldType, type FooterCalculation, type FooterCalculationType, type FormatDateOptions, type FormatMoneyOptions, type FormatNumberOptions, type FormatTimeOptions, ITEM_TAX_AVAILABLE_COLUMNS, ITEM_TAX_DEFAULT_VISIBLE_COLUMNS, type LocaleOption, MODIFIER_MIX_AVAILABLE_COLUMNS, MODIFIER_MIX_DEFAULT_VISIBLE_COLUMNS, PRODUCT_MIX_AVAILABLE_COLUMNS, PRODUCT_MIX_CHART_FIELDS, PRODUCT_MIX_DEFAULT_VISIBLE_COLUMNS, Report, type ReportColumnKey, type ReportConfig, type ReportType, SALES_BY_ITEM_DETAIL_AVAILABLE_COLUMNS, SALES_BY_ITEM_DETAIL_DEFAULT_VISIBLE_COLUMNS, SALES_SUMMARY_AVAILABLE_COLUMNS, SALES_SUMMARY_DEFAULT_VISIBLE_COLUMNS, TICKET_LIVE_AVAILABLE_COLUMNS, TICKET_LIVE_DEFAULT_VISIBLE_COLUMNS, TICKET_SUMMARY_AVAILABLE_COLUMNS, TICKET_SUMMARY_DEFAULT_VISIBLE_COLUMNS, type TimeFormat, calculateReportTotals, dailySalesConfig, dailySalesDiscountsConfig, dailySalesPaymentsConfig, dailySalesRefundsVoidsConfig, dailySalesTaxesConfig, dailySalesTrendsConfig, employeeTimecardConfig, formatDate, formatFieldValue, formatFixedNumber, formatInteger, formatMoney, formatMoneyWithoutSymbol, formatPercent, formatString, formatTime, getColumnAlignment, getColumnExportHeaderLabel, getColumnMetadata, getDateToFormat, getNumberToFormat, getReportConfig, getReportFormattingLocaleOptions, isNumericType, itemTaxConfig, modifierMixConfig, productMixConfig, salesByItemDetailConfig, salesSummaryConfig, ticketLiveConfig, ticketSummaryConfig };