import * as t from '@babel/types'; import YAML from 'yaml'; export type JsSet = { fileName: string; ast: t.File; cubeDefinition: t.ObjectExpression; }; export type YamlSet = { fileName: string; yaml: YAML.Document; cubeDefinition: YAML.YAMLMap; }; export type AstByCubeName = Record; export interface CubeConverterInterface { convert(astByCubeName: AstByCubeName): void; } type SchemaFile = { fileName: string; content: string; }; export declare class CubeSchemaConverter { protected fileRepository: any; protected converters: CubeConverterInterface[]; protected dataSchemaFiles: SchemaFile[]; protected parsedFiles: AstByCubeName; constructor(fileRepository: any, converters: CubeConverterInterface[]); /** * Parse Schema files from the repository and create a mapping of cube names to schema files. * If optional `cubeName` parameter is passed - only file with asked cube is parsed and stored. * @param cubeName * @protected */ protected prepare(cubeName?: string): Promise; protected transformYaml(schemaFile: SchemaFile, filterCubeName?: string): void; protected transformJS(schemaFile: SchemaFile, filterCubeName?: string): void; protected parseJS(file: SchemaFile): import("@babel/parser").ParseResult; generate(cubeName?: string): Promise; getSourceFiles(): { cubeName: string; fileName: string; source: string; }[]; } export {}; //# sourceMappingURL=CubeSchemaConverter.d.ts.map