import { ERDEditorSchemaV3 } from '@dineug/erd-editor-schema'; import { useContext } from '@dineug/r-html'; export type { LWW, LWWTuple } from '@dineug/erd-editor-schema'; export type ValuesType> = T[keyof T]; export type GetEntity = ERDEditorSchemaV3['collections'][T][keyof ERDEditorSchemaV3['collections'][T]]; export type GetEntities = ERDEditorSchemaV3['collections'][T]; export type Table = GetEntity<'tableEntities'>; export type Column = GetEntity<'tableColumnEntities'>; export type Memo = GetEntity<'memoEntities'>; export type Relationship = GetEntity<'relationshipEntities'>; export type Index = GetEntity<'indexEntities'>; export type IndexColumn = GetEntity<'indexColumnEntities'>; export type TableEntities = GetEntities<'tableEntities'>; export type TableColumnEntities = GetEntities<'tableColumnEntities'>; export type MemoEntities = GetEntities<'memoEntities'>; export type RelationshipEntities = GetEntities<'relationshipEntities'>; export type IndexEntities = GetEntities<'indexEntities'>; export type IndexColumnEntities = GetEntities<'indexColumnEntities'>; export type Doc = ERDEditorSchemaV3['doc']; export type Collections = ERDEditorSchemaV3['collections']; export type Settings = ERDEditorSchemaV3['settings']; export type Point = { x: number; y: number; }; export type RelationshipPoint = { x: number; y: number; direction: number; }; export type EntityMeta = { updateAt: number; createAt: number; }; export type Unsubscribe = () => void; export type Ctx = Parameters[0]; export type DeepPartial = T extends string | number | bigint | boolean | null | undefined | symbol ? T | undefined : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray : { [K in keyof T]?: DeepPartial; };