import { default as Compiler } from '../../../compiler'; import { Filepath } from '../../types/filepath'; import { ElementDeclarationNode } from '../../types/nodes'; import { DiagramView } from '../../types'; import { default as Report } from '../../types/report'; import { DiagramViewSymbol } from '../../types/symbol'; export declare class DiagramViewInterpreter { private compiler; private declarationNode; private symbol; private filepath; private diagramView; private diagramViewWildcards; private diagramViewExplicitlySet; constructor(compiler: Compiler, declarationNode: ElementDeclarationNode, symbol: DiagramViewSymbol, filepath: Filepath); interpret(): Report; private interpretBody; private interpretSubBlock; /** * Expand explicit wildcard ([]) for tableGroups in DiagramView visibleEntities * to the concrete list of table group names. * * Expands when: * 1. The user wrote `TableGroups { * }` (tracked via diagramViewWildcards) * 2. NOT a body-level `{ * }` - body-level wildcard sets ALL dims to [] simultaneously, * which is a different semantic (show everything) that doesn't need expansion. * We detect body-level by checking if all four dims are in the wildcards set. * * Why only TableGroups needs expansion: * - Tables: * -> [] means "show all tables" (every table is a table, no indirection) * - Schemas: * -> [] means "show all schemas" (every table belongs to a schema) * - TableGroups: * needs concrete names because some tables DON'T belong to any group. * The frontend does name-based lookup; [] would produce an empty name map -> no groups matched. */ expandDiagramViewWildcards(): void; private getAllTableGroupNames; }