import type { AnyCustomObjectDefinition, CreateInput, UpdateInput, FieldValue } from "../../../core/platform/custom-objects/types.js"; import type { ObjectRecords } from "./custom-object.js"; type NullableFields = { [K in keyof D['fields']]: D['fields'][K] extends { writable: true; required: false; } ? K : never; }[keyof D['fields']]; /** Definition-based writes accept null for writable, non-required custom fields. */ export type ObjectCreateInput = Omit, NullableFields> & { [K in NullableFields]?: FieldValue | null; }; export type ObjectUpdateInput = Omit, NullableFields> & { [K in NullableFields]?: FieldValue | null; }; export type ObjectBulkUpdateInput = { readonly id: string; } & ObjectUpdateInput; export declare function assertObjectInput(definition: AnyCustomObjectDefinition, input: Record, operation: 'create' | 'update'): void; /** Definition-specific nullability and decoding; the shared manager and legacy constructors are unchanged. */ export declare function createObjectRecords(definition: D): Readonly>; export {}; //# sourceMappingURL=_object-records.d.ts.map