## API Report File for "@microsoft/rush-stack-compiler-3.5"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import * as ApiExtractor from '@microsoft/api-extractor';
import { IPackageJson } from '@rushstack/node-core-library';
import { ITerminalProvider } from '@rushstack/node-core-library';
import { Terminal } from '@rushstack/node-core-library';
import * as Tslint from 'tslint';
import * as Typescript from 'typescript';

export { ApiExtractor }

// @beta
export class ApiExtractorRunner extends RushStackCompilerBase {
    constructor(extractorConfig: ApiExtractor.ExtractorConfig, extractorOptions: ApiExtractor.IExtractorInvokeOptions, rootPath: string, terminalProvider: ITerminalProvider);
    constructor(options: IRushStackCompilerBaseOptions, extractorConfig: ApiExtractor.ExtractorConfig, extractorOptions: ApiExtractor.IExtractorInvokeOptions, rootPath: string, terminalProvider: ITerminalProvider);
    // (undocumented)
    invoke(): Promise<void>;
}

// @public (undocumented)
export interface ILintRunnerConfig extends IRushStackCompilerBaseOptions {
    displayAsError?: boolean;
}

// @public (undocumented)
export interface IRushStackCompilerBaseOptions {
    // (undocumented)
    fileError: WriteFileIssueFunction;
    // (undocumented)
    fileWarning: WriteFileIssueFunction;
}

// @public (undocumented)
export interface ITslintRunnerConfig extends ILintRunnerConfig {
}

// @beta (undocumented)
export interface ITypescriptCompilerOptions extends IRushStackCompilerBaseOptions {
    customArgs?: string[];
}

// @beta (undocumented)
export class LintRunner extends RushStackCompilerBase<ILintRunnerConfig> {
    constructor(taskOptions: ILintRunnerConfig, rootPath: string, terminalProvider: ITerminalProvider);
    // (undocumented)
    invoke(): Promise<void>;
    }

// @beta (undocumented)
export abstract class RushStackCompilerBase<TOptions extends IRushStackCompilerBaseOptions = IRushStackCompilerBaseOptions> {
    constructor(taskOptions: TOptions, rootPath: string, terminalProvider: ITerminalProvider);
    // (undocumented)
    protected _fileError: WriteFileIssueFunction;
    // (undocumented)
    protected _fileWarning: WriteFileIssueFunction;
    // (undocumented)
    protected _standardBuildFolders: StandardBuildFolders;
    // (undocumented)
    protected _taskOptions: TOptions;
    // (undocumented)
    protected _terminal: Terminal;
}

// @beta (undocumented)
export class StandardBuildFolders {
    constructor(projectFolderPath: string);
    // (undocumented)
    readonly distFolderPath: string;
    // (undocumented)
    readonly libFolderPath: string;
    // (undocumented)
    readonly projectFolderPath: string;
    // (undocumented)
    readonly srcFolderPath: string;
    // (undocumented)
    readonly tempFolderPath: string;
    }

// @beta (undocumented)
export class ToolPaths {
    // (undocumented)
    static readonly apiExtractorPackageJson: IPackageJson;
    // (undocumented)
    static readonly apiExtractorPackagePath: string;
    // (undocumented)
    static readonly eslintPackageJson: IPackageJson;
    // (undocumented)
    static readonly eslintPackagePath: string;
    // (undocumented)
    static readonly tslintPackageJson: IPackageJson;
    // (undocumented)
    static readonly tslintPackagePath: string;
    // (undocumented)
    static readonly typescriptPackageJson: IPackageJson;
    // (undocumented)
    static readonly typescriptPackagePath: string;
    }

export { Tslint }

// @beta (undocumented)
export class TslintRunner extends RushStackCompilerBase<ITslintRunnerConfig> {
    constructor(taskOptions: ITslintRunnerConfig, rootPath: string, terminalProvider: ITerminalProvider);
    // (undocumented)
    invoke(): Promise<void>;
}

export { Typescript }

// @beta (undocumented)
export class TypescriptCompiler extends RushStackCompilerBase<ITypescriptCompilerOptions> {
    constructor(rootPath: string, terminalProvider: ITerminalProvider);
    constructor(taskOptions: ITypescriptCompilerOptions, rootPath: string, terminalProvider: ITerminalProvider);
    // (undocumented)
    invoke(): Promise<void>;
}

// @public (undocumented)
export type WriteFileIssueFunction = (filePath: string, line: number, column: number, errorCode: string, message: string) => void;


```
