/** @public */ export type ID = string & { __type__: R } /** * The base record that all records must extend. * @public */ export interface BaseRecord { readonly id: ID readonly typeName: TypeName } export type OmitMeta = R extends R ? Omit : R export function isRecord(record: unknown): record is BaseRecord { return typeof record === 'object' && record !== null && 'id' in record && 'typeName' in record }