import { CompilerOptions } from 'typescript'; // tslint:disable-next-line: no-duplicate-imports import * as ts from 'typescript'; export interface TsConfig { compilerOptions: CompilerOptions; exclude?: string[]; include?: string[]; files?: string[]; typeAcquisition?: 'enable' | 'include' | 'exclude'; extends?: string; } export interface ParseConfigOptions { tsConfig: string | object; projectPath?: string; compilerOptions?: ts.CompilerOptions; } export interface ProgramOptions extends ParseConfigOptions {} export interface TsProjectOptions extends ParseConfigOptions { // If provided, this parsed CompilerOptions value will over-ride CompilerOptions present in the Configuration for program parsedCompilerOptions?: ts.CompilerOptions; fileNames?: string[]; incremental?: boolean; }