///
import ts from "typescript";
import { format } from "./parser/format.js";
import { ToDataReturn } from "./converters/to-data-model.js";
export interface CompileResult {
path: string;
content: string;
}
export declare type TargetExtension = '.js' | '.mjs' | '.cjs';
export declare class Compiler {
#private;
constructor(compilerOptions: ts.CompilerOptions | string);
compile(files: string[] | Map, pretty?: boolean, targetExtension?: TargetExtension): CompileResult[];
gulp(pretty?: boolean, targetExtension?: TargetExtension | undefined): import("stream").Transform;
_resolvePatterns(srcFiles: ts.SourceFile[]): Map;
print(compilerOptions: ts.CompilerOptions, files: Map, targetExtension?: TargetExtension): CompileResult[];
convertData(nodeFactory: ts.NodeFactory, srcFile: ts.SourceFile, methodName: string, data: ReturnType, pretty: boolean, targetExtension: TargetExtension | undefined): ToDataReturn;
}
export declare function parseTsConfig(tsConfigPath: string): ts.CompilerOptions;
interface ResolvePatterns {
id: string;
patterns: string[];
files: {
srcFile: ts.SourceFile;
node: ts.Node;
type: string;
}[];
resolvedFiles: string[];
}
export declare function resolvePatterns(srcFiles: readonly ts.SourceFile[], packageName: string, className: string, ...methods: string[]): Map;
export declare function extractStringArgs(node: ts.CallExpression, srcFile: ts.SourceFile): string[];
export {};