/** * Static enum tables for the BOHSA CRM. * * The CRM stores its enums in two self-referential tables: * - `core_entities` → the entity_type registry (id = numeric entity_type) * - `core_entity_types` → status/code values (entity_id column = the group id, type = label) * * These rarely change. They are baked in here so the MCP can: * 1. resolve a human entity_type name → numeric code for filters, and * 2. annotate get/list responses with a human-readable `*_label` for every coded field. * * To regenerate after a CRM change, run against the BOHSA CRM database: * -- entity types: * select id, display_name from core_entities where table_name is not null order by id; * -- a status group (e.g. booking space status = 46): * select id, type from core_entity_types where entity_id = 46 order by id; * -- group ids: 29 Booking Status, 30 Booking Sub Status, 46 Booking Space Status, * 31 Levy Status, 23 Activity/audit types. */ /** entity_type code → display name (from core_entities, table-backed rows only). */ export declare const ENTITY_TYPES: Record; /** Booking status — core_entity_types group 29. */ export declare const BOOKING_STATUS: Record; /** Booking space (delegate) status — core_entity_types group 46. */ export declare const BOOKING_SPACE_STATUS: Record; /** Levy status — core_entity_types group 31. */ export declare const LEVY_STATUS: Record; /** Booking sub-status — core_entity_types group 30. */ export declare const BOOKING_SUB_STATUS: Record; /** Task status — core_entity_types group 34. */ export declare const TASK_STATUS: Record; /** Meeting status — core_entity_types group 37. */ export declare const MEETING_STATUS: Record; /** Quote status — core_entity_types group 41. */ export declare const QUOTE_STATUS: Record; /** Quote option status — core_entity_types group 43. */ export declare const QUOTE_OPTION_STATUS: Record; /** Invoice status — core_entity_types group 54. */ export declare const INVOICE_STATUS: Record; /** Additional item status — core_entity_types group 27. */ export declare const ADDITIONAL_ITEM_STATUS: Record; /** Activity log type (audit_type) — core_entity_types group 23. */ export declare const ACTIVITY_TYPE: Record; /** * Return a copy of `data` (row or array of rows) with a human-readable * `_label` added next to every known coded field. Non-objects pass through. */ export declare function annotateEnums(table: string, data: T): T; /** * Resolve an entity_type filter value to a numeric code string. * Accepts a number, a numeric string, or a name ("booking_space", "Booking Space"). * Returns `{ code }` on success or `{ error }` with a helpful message. */ export declare function resolveEntityType(input: string | number | undefined): { code?: string; error?: string; }; /** Structured dump of every enum table — backs the `list_status_codes` tool. */ export declare function statusCodeReference(): { entity_types: { code: number; label: string; }[]; booking_status: { code: number; label: string; }[]; booking_sub_status: { code: number; label: string; }[]; booking_space_status: { code: number; label: string; }[]; levy_status: { code: number; label: string; }[]; task_status: { code: number; label: string; }[]; meeting_status: { code: number; label: string; }[]; quote_status: { code: number; label: string; }[]; quote_option_status: { code: number; label: string; }[]; invoice_status: { code: number; label: string; }[]; additional_item_status: { code: number; label: string; }[]; activity_type: { code: number; label: string; }[]; field_map: { 'booking_spaces.status': string; 'booking_spaces.levy_status': string; 'bookings.status': string; 'bookings.sub_status': string; 'tasks.status': string; 'meetings.status': string; 'quotes.status': string; 'quote_options.status': string; 'invoices.status': string; 'credit_notes.status': string; 'additional_items.status': string; 'activity_logs.audit_type': string; 'activity_logs.entity_type': string; }; notes: string; }; //# sourceMappingURL=enums.d.ts.map