export type JsonjsdbConfig = { path: string; dbKey: string | boolean; appName: string; useCache: boolean; validIdChars: string; }; export type PartialJsonjsdbConfig = Partial; export type DbFilter = { entity: string; variable: string; values: unknown[]; }; export type FilterBuilder = (tables: Readonly>) => DbFilter | DbFilter[] | null | undefined; export type IntegrityResult = { emptyId: string[]; duplicateId: Record; parentIdNotFound: Record; parentIdSame: Record; foreignIdNotFound: Record>; }; export type TableRow = { id?: string | number; parentId?: string | number | null; [key: string]: unknown; }; export type Schema = { oneToOne: [string, string][]; oneToMany: string[][]; manyToMany: [string, string][]; }; export type TableIndex = { [propertyName: string]: Record; }; export type DatabaseIndex = { [tableName: string]: TableIndex; }; export type DatabaseMetadata = { schema: Schema; index: DatabaseIndex; tables: TableInfo[]; dbSchema?: unknown; }; export type TableInfo = { name: string; lastModif?: string | number; }; export type DatabaseRow = { id?: string | number; parentId?: string | number | null; [key: string]: unknown; }; export type TableCollection> = { [K in keyof TEntityTypeMap]: TEntityTypeMap[K][]; };