import { JinjaEngine, NativeInstance, PythonCtx } from '@cubejs-backend/native'; import type { FileContent } from '@cubejs-backend/shared'; import { TranspilerCubeResolver, TranspilerSymbolResolver } from './transpilers'; import { ErrorReporter } from './ErrorReporter'; import { CompileContext } from './DataSchemaCompiler'; export declare class YamlCompiler { private readonly cubeSymbols; private readonly cubeDictionary; private readonly nativeInstance; private readonly viewCompiler; protected jinjaEngine: JinjaEngine | null; constructor(cubeSymbols: TranspilerSymbolResolver, cubeDictionary: TranspilerCubeResolver, nativeInstance: NativeInstance, viewCompiler: TranspilerSymbolResolver); free(): void; getJinjaEngine(): JinjaEngine; initFromPythonContext(ctx: PythonCtx): void; renderTemplate(file: FileContent, compileContext: CompileContext, pythonContext: PythonCtx): Promise; compileYamlWithJinjaFile(file: FileContent, errorsReport: ErrorReporter, compileContext: CompileContext, pythonContext: PythonCtx): Promise; transpileYamlFile(file: FileContent, errorsReport: ErrorReporter): FileContent | undefined; private transpileViewGroup; private transpileAndPrepareJsFile; private transformYamlCubeObj; private transpileYaml; private escapeDoubleQuotes; private parsePythonIntoArrowFunction; private parsePythonAndTranspileToJs; private astIntoArrowFunction; private checkDuplicateNames; private yamlArrayToObj; private extractProgramBodyIfNeeded; } //# sourceMappingURL=YamlCompiler.d.ts.map