import { MMReceiveLaborTicket } from "../services/mm-api-service/types/receive-types.js"; import { MMSendWorkOrderOperationLaborTicketSync } from "../services/mm-api-service/types/send-types.js"; /** * Builds a partial work order operation upsert for MM when the merged labor ticket carries * a valid `workOrderOperation.closedDate` and/or non-empty WOO custom fields from NATS. * Returns null when neither is present (no MM update). Only identity keys plus `status`, * `closedDate`, and custom field properties are sent. * * A close-out sets `status` to COMPLETED — unless the ticket's `workOrderOperation.status` * says MM already reports the operation as DELETED (reconciliation found it gone from the * ERP), in which case the status is left alone so the late labor ticket does not flip it. * * `status` is optional on the payload and MM's labor-ticket export currently sends only * `closedDate` and `customFields` for the operation, so today the guard only engages when * a caller supplies the status. When it is absent, COMPLETED is written as before: a * COMPLETED operation with a closedDate is as inert as a DELETED one (hidden from the * operator view, excluded from schedule sync and from reconciliation candidates), so the * remaining exposure is cosmetic, and never writing a status on close-out would be a * regression for every connector. */ export declare function buildMMSendWorkOrderOperationFromLaborTicket(laborTicket: MMReceiveLaborTicket): MMSendWorkOrderOperationLaborTicketSync | null; //# sourceMappingURL=labor-ticket-work-order-operation-send.d.ts.map