import { default as Compiler } from '../../../compiler'; import { SettingName } from '../../types/keywords'; import { ElementDeclarationNode } from '../../types/nodes'; import { default as Report } from '../../types/report'; import { Column, Table } from '../../types/schemaJson'; import { Filepath } from '../../types/filepath'; import { TableSymbol } from '../../types/symbol/symbols'; import { MetadataFieldRegistry } from '../metadata/utils'; export declare class TableInterpreter { private declarationNode; private compiler; private symbol?; private filepath; private table; private pkColumns; constructor(compiler: Compiler, declarationNode: ElementDeclarationNode, symbol: TableSymbol, filepath: Filepath); interpret(): Report; private attachTableAndColumnMetadata; private interpretName; private interpretAlias; private interpretSettingList; private interpretBody; private interpretSubElements; private interpretInjection; private interpretFields; private interpretColumn; private interpretIndexes; private interpretChecks; } /** * Settings that are excluded from custom metadata for inline metadata for Column * Different from what we extract from metadata block for Column because some settings value types are not supported yet, mostly boolean keys without values ([pk, not null]) * TODO: Catch these settings when we support more data types for custom metadata */ export declare const RECOGNIZED_COLUMN_SETTINGS: readonly SettingName[]; export declare const TABLE_METADATA_FIELDS: MetadataFieldRegistry; export declare const COLUMN_METADATA_FIELDS: MetadataFieldRegistry;