import type { IAccessPattern as IEntityAccessPattern } from '../../../entity/actions/accessPattern/index.js'; import type { Entity } from '../../../entity/index.js'; import type { IAccessPattern as ITableAccessPattern } from '../../../table/actions/accessPattern/index.js'; import type { Table } from '../../../table/index.js'; import { TableAction } from '../../../table/index.js'; export declare class Registry = Record> extends TableAction { static actionName: "registry"; readonly entities: RegistryEntities; readonly accessPatterns: ACCESS_PATTERNS; readonly query: RegistryQueries; constructor(table: TABLE, _entities?: ENTITIES, accessPatterns?: ACCESS_PATTERNS, { entities, query }?: { entities?: RegistryEntities; query?: RegistryQueries; }); registerEntities(...nextEntities: NEXT_ENTITIES): Registry; registerAccessPatterns>(nextAccessPatterns: NEXT_ACCESS_PATTERNS): Registry; build = TableAction>(Action: new (table: TABLE, entities?: ENTITIES) => ACTION): ACTION; } type RegistryQueries> = { [KEY in keyof ACCESS_PATTERNS]: ACCESS_PATTERNS[KEY]['query']; }; type RegistryEntities = { [ENTITY in ENTITIES[number] as ENTITY['entityName']]: ENTITY; }; export {};