/** * Represents a labor ticket as received from the MM API /erp/v1/labor-tickets/export/updates */ export declare class MMReceiveLaborTicket { constructor(data: Partial); get workOrderOperationClosedDate(): string | null; set workOrderOperationClosedDate(value: string | null); get workOrderOpIsClosed(): number; badParts: number; clockIn: string | null; clockOut: string | null; comment: string | null; createdAt: string | null; goodParts: number; laborTicketId: string; laborTicketRef: string; /** Set on real-time NATS payloads; typically absent on ERP-imported tickets */ machineRef?: string | null; lot: string; personId: string; reasons?: MMReceiveLaborTicketReason[]; resourceId: string; resource?: { name: string; }; sequenceNumber: number; split: string; state: string; type: string; syncedAt: string | null; updatedAt: string | null; workOrderId: string; workOrderOperation?: MMReceiveLaborTicketWorkOrderOperation; sub: string; transactionDate: string | null; customFieldsSchemaRef: number | null; customFields: Record | null; } /** * Represents a reason in the MMApiReceiveLaborTicket object as received from MM */ export interface MMReceiveLaborTicketReason { reason: { annotationTypeRef: string | null; category: string; code: string; companyId: string; createdAt: string; description: string; entityType: string; reasonId: string; reasonRef: number; rejectReasonRef: number; updatedAt: string | null; }; } /** * Represents a work order operation in the MMApiReceiveLaborTicket object, incomplete when * pulling updated labor tickets from MM. NATS payloads may add custom fields and closure fields. */ export interface MMReceiveLaborTicketWorkOrderOperation { closedDate: string | null; /** When set (e.g. from MM export), used when building labor-ticket WOO sync payloads for non-close updates */ status?: string | null; customFieldsSchemaRef?: number | null; customFields?: Record | null; } /** * Represents a work order as received from the MM GraphQL API (erpWorkOrders) */ export declare class MMReceiveWorkOrder { constructor(data: Partial); companyId: string; workOrderId: string; lot: string; split: string; sub: string; status: string; dueDate: string | null; description: string; scheduledStartDate: string | null; scheduledEndDate: string | null; closedDate: string | null; quantityRequired: number; partNumber: string; partRevision: string; method: string; createdAt: string; updatedAt: string; customFieldsSchemaRef: number | null; customFields: Record | null; } /** * Represents a work order operation as received from the MM GraphQL API * (erpWorkOrderOperations). Field names match the REST import payload * ({@code MMSendWorkOrderOperation}) one-to-one, including MM's lowercase-`b` * burden-rate spellings. */ export declare class MMReceiveWorkOrderOperation { constructor(data: Partial); companyId: string; workOrderId: string; lot: string; split: string; sub: string; /** Stored numerically by MM; exposed as the string form the REST import uses. */ sequenceNumber: string; resourceId: string; /** * Numeric columns are nullable in MM; `null` means "not provided by the ERP", which is * distinct from a real 0. Values MM returns that don't parse to a finite number are * also reported as `null`. */ startQuantity: number | null; finishQuantity: number | null; expectedRejectRate: number | null; scheduledStartDate: string | null; scheduledFinishDate: string | null; closedDate: string | null; cycleTimeMs: number | null; setupTimeMs: number | null; productionburdenRateHourly: number | null; setupburdenRatehourly: number | null; operationType: string; quantityPerPart: number | null; status: string; createdAt: string; updatedAt: string; customFieldsSchemaRef: number | null; customFields: Record | null; } /** * Represents a timesheet row as received from the MM API /erp/v1/timesheets/updates * (employee clock in/out export to ERP). */ export declare class MMReceiveTimesheet { constructor(data: Partial); /** MM reference for this timesheet row (used for ordering and dedupe in sync) */ timesheetRef: number | string; /** Optional MM identifier when present */ timesheetId?: string | number | null; /** ERP employee / person id (e.g. Epicor EmployeeNum) */ personId: string; /** ISO timestamp when the employee clocked out; null while still clocked in */ clockOut: string | null; clockIn?: string | null; createdAt?: string | null; updatedAt?: string | null; syncedAt?: string | null; } /** * One row of MM's `erpWorkOrderOperationDispatchPriorities` table as returned by * `MMApiClient.fetchDispatchPrioritiesFromGraphQL()`. `sequenceNumber` is exposed as the * string form the other receive models use ({@link MMReceiveWorkOrderOperation}). */ export declare class MMReceiveDispatchPriority { constructor(data: Partial); /** MM's surrogate primary key (bigint). */ dispatchPriorityRef: number; companyId: string; /** Nullable in MM; the SDK write path always fills it, other writers may not. */ authorityOperationId: string | null; scopeResourceId: string; workOrderId: string; sequenceNumber: string; lot: string; split: string; sub: string; preallocatedMachineResourceId: string | null; priority: number; createdAt: string; updatedAt: string; customFieldsSchemaRef: number | null; customFields: Record | null; } //# sourceMappingURL=receive-types.d.ts.map