/** * Normalization utilities for labor ticket signatures. * Ensures consistent signatures regardless of API response format variations. */ /** * Normalize timestamps to consistent ISO format (handles Z vs +00:00 variations) */ export declare function normalizeTimestamp(ts: string | null | undefined): string | null; /** * Normalize text values — null/undefined/empty-string all become null. * MM can flip between null and "" across API responses, so we treat them as equivalent. */ export declare function normalizeString(s: unknown): string | null; /** * Normalize numbers — coerce strings to numbers, reject non-finite values. */ export declare function normalizeNumber(n: unknown): number | null; /** * Normalize ID-like values (laborTicketRef, workOrderId, etc.) — always coerce to string. * Ensures "42" and 42 produce the same signature. */ export declare function normalizeLaborTicketRef(ref: unknown): string | null; /** * Stable SQLite ledger key for labor tickets written from ERP → MM when `laborTicketRef` * is not yet known. Matches {@link tryLaborTicketLedgerErpImportKey} on the to-ERP path * so the first export cycle can dedupe against the post-import ledger row. */ export declare function tryLaborTicketLedgerErpImportKey(workOrderId: unknown, laborTicketId: unknown): string | null; /** * Normalize reasons array for consistent signatures */ export declare function normalizeReasons(reasons: any[] | null | undefined): string[]; //# sourceMappingURL=labor-ticket-normalization.d.ts.map