import * as ts from "typescript"; import { Block } from "../LuaAST"; import { Plugin } from "./plugins"; export interface TranspiledFile { fileName: string; luaAst?: Block; lua?: string; sourceMap?: string; declaration?: string; declarationMap?: string; } export interface TranspileResult { diagnostics: ts.Diagnostic[]; transpiledFiles: TranspiledFile[]; } export interface TranspileOptions { program: ts.Program; sourceFiles?: ts.SourceFile[]; customTransformers?: ts.CustomTransformers; plugins?: Plugin[]; emitHost?: EmitHost; } export interface EmitHost { getCurrentDirectory(): string; readFile(path: string): string | undefined; } export declare function transpile({ program, sourceFiles: targetSourceFiles, customTransformers, plugins: pluginsFromOptions, emitHost, }: TranspileOptions): TranspileResult;