/** * Represents the raw field structure as returned by Autotask's * GET /V1.0/{EntityName}/entityInformation/fields endpoint. */ export interface AutotaskRawField { name: string; dataType: string; isPickList: boolean; picklistValues?: Array<{ value: string | number | boolean | null; label: string; isActive?: boolean; isDefaultValue?: boolean; sortOrder?: number; parentValue?: string | number | null; [key: string]: any; }>; picklistParentValueField?: string; [key: string]: any; } /** * Represents the processed field information, augmented with a more usable picklistMap. * Returned by `AutotaskClient.getEntityFieldsDetailed` when called with `{ compact: false }`. * Preserves the raw Autotask API shape — including the verbose `picklistValues[]` array. */ export interface ProcessedFieldDetailedInfo extends AutotaskRawField { picklistMap?: Record; picklistMapByParent?: Record>; } /** * Compact, LLM-friendly projection of an entity field definition. * Default return type for `AutotaskClient.getEntityFieldsDetailed` since v0.13.0. * * Drops the raw `picklistValues[]` array (callers use `picklistMap` / * `picklistMapByParent` instead) and omits noisy metadata like * `isUserDefinedField`, `isActive`, `isSystem`, `sortOrder` which rarely * inform a caller's decision and bloat JSON payloads. * * Null / false / missing keys are omitted entirely to keep the JSON dense. */ export interface CompactFieldInfo { name: string; label?: string; dataType: string; length?: number; isRequired?: boolean; isReadOnly?: boolean; isQueryable?: boolean; isReference?: boolean; referenceEntityType?: string; isPickList: boolean; picklistMap?: Record; picklistMapByParent?: Record>; picklistParentValueField?: string; } /** * Represents the structure of the API response from * GET /V1.0/{EntityName}/entityInformation/fields endpoint. * This is an internal type used within AutotaskClient. * @internal */ export interface EntityFieldsApiResponse { fields: AutotaskRawField[]; } //# sourceMappingURL=fields.d.ts.map