import * as ts from 'typescript'; import * as MetadataTypes from 'ojs/ojmetadata'; import { type AllJsDocTypes } from './utils/ApiDocTypes'; import { ImportMaps } from './shared/ImportMaps'; import { JETComp } from './shared/JETComp'; import { SharedContentType } from './sharedCommentScanner'; import { ExportMaps } from './shared/ExportMaps'; type CompileOptions = { tsconfigJson: ts.TsConfigSourceFile; buildOptions?: BuildOptions; }; export type ApiDocOptions = { apiDocDir?: string; debug?: boolean; followImports?: boolean; apiDocBuildEnabled?: boolean; sharedContent?: SharedContentType; componentToApiDoc?: Record>; programExportMaps?: ExportMaps; exclude?: Array; }; export type CoreBuildOptions = { dtDir: string; isolationMode?: boolean; coreJetBuildOptions?: { defaultCompType?: MetadataTypes.ComponentMetadata['type']; exclude?: Array; legacyWebElements?: Array; enableLegacyElement?: number; }; debug?: boolean; importMaps?: { exportToAlias?: Record; aliasToExport?: Record; }; programImportMaps?: ImportMaps; componentToMetadata?: Record; templatePath?: string; reservedGlobalProps?: Set; tsBuiltDir: string; typesDir?: string; parentDirToPackInfo?: Record; dependenciesMap?: Map; disabledExceptionKeys?: Array; legacyWebElementSet?: Set; emitMetadataOnly?: boolean; }; export type BuildOptions = ApiDocOptions & CoreBuildOptions; export default function compile({ tsconfigJson, buildOptions }: CompileOptions): { errors: any[]; parsedTsconfigJson: { compilerOptions: ts.CompilerOptions; files: string[]; }; }; export {};