## API Report File for "@rushstack/typings-generator"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts

import { ITerminal } from '@rushstack/terminal';

// @public (undocumented)
export interface IExportAsDefaultOptions {
    // @deprecated (undocumented)
    documentationComment?: string;
    interfaceDocumentationComment?: string;
    interfaceName?: string;
    valueDocumentationComment?: string;
}

// @public (undocumented)
export interface IStringValuesTypingsGeneratorBaseOptions {
    exportAsDefault?: boolean | IExportAsDefaultOptions;
    // @deprecated (undocumented)
    exportAsDefaultInterfaceName?: string;
}

// @public (undocumented)
export interface IStringValuesTypingsGeneratorOptions<TFileContents extends string = string> extends ITypingsGeneratorOptions<IStringValueTypings | undefined, TFileContents>, IStringValuesTypingsGeneratorBaseOptions {
}

// @public (undocumented)
export interface IStringValuesTypingsGeneratorOptionsWithCustomReadFile<TFileContents = string> extends ITypingsGeneratorOptionsWithCustomReadFile<IStringValueTypings | undefined, TFileContents>, IStringValuesTypingsGeneratorBaseOptions {
}

// @public (undocumented)
export interface IStringValueTyping {
    // (undocumented)
    comment?: string;
    // (undocumented)
    exportName: string;
}

// @public (undocumented)
export interface IStringValueTypings {
    exportAsDefault?: boolean | IExportAsDefaultOptions;
    // (undocumented)
    typings: IStringValueTyping[];
}

// @public (undocumented)
export interface ITypingsGeneratorBaseOptions {
    // (undocumented)
    generatedTsFolder: string;
    // (undocumented)
    globsToIgnore?: string[];
    // (undocumented)
    secondaryGeneratedTsFolders?: string[];
    // (undocumented)
    srcFolder: string;
    // (undocumented)
    terminal?: ITerminal;
}

// @public (undocumented)
export interface ITypingsGeneratorOptions<TTypingsResult = string | undefined, TFileContents extends string = string> extends ITypingsGeneratorOptionsWithoutReadFile<TTypingsResult, TFileContents> {
    // (undocumented)
    readFile?: ReadFile<TFileContents>;
}

// @public
export interface ITypingsGeneratorOptionsWithCustomReadFile<TTypingsResult = string | undefined, TFileContents = string> extends ITypingsGeneratorOptionsWithoutReadFile<TTypingsResult, TFileContents> {
    // (undocumented)
    readFile: ReadFile<TFileContents>;
}

// @public (undocumented)
export interface ITypingsGeneratorOptionsWithoutReadFile<TTypingsResult = string | undefined, TFileContents = string> extends ITypingsGeneratorBaseOptions {
    // (undocumented)
    fileExtensions: string[];
    // (undocumented)
    getAdditionalOutputFiles?: (relativePath: string) => string[];
    // (undocumented)
    parseAndGenerateTypings: (fileContents: TFileContents, filePath: string, relativePath: string) => TTypingsResult | Promise<TTypingsResult>;
}

// @public (undocumented)
export type ReadFile<TFileContents = string> = (filePath: string, relativePath: string) => Promise<TFileContents> | TFileContents;

// @public
export class StringValuesTypingsGenerator<TFileContents = string> extends TypingsGenerator<TFileContents> {
    constructor(options: TFileContents extends string ? IStringValuesTypingsGeneratorOptions<TFileContents> : never);
    constructor(options: IStringValuesTypingsGeneratorOptionsWithCustomReadFile<TFileContents>);
}

// @public
export class TypingsGenerator<TFileContents = string> {
    constructor(options: TFileContents extends string ? ITypingsGeneratorOptions<string | undefined, TFileContents> : never);
    constructor(options: ITypingsGeneratorOptionsWithCustomReadFile<string | undefined, TFileContents>);
    generateTypingsAsync(relativeFilePaths?: string[]): Promise<void>;
    // (undocumented)
    getOutputFilePaths(relativePath: string): string[];
    readonly ignoredFileGlobs: readonly string[];
    readonly inputFileGlob: string;
    // (undocumented)
    protected readonly _options: ITypingsGeneratorOptionsWithCustomReadFile<string | undefined, TFileContents>;
    registerDependency(consumer: string, rawDependency: string): void;
    // (undocumented)
    runWatcherAsync(): Promise<void>;
    readonly sourceFolderPath: string;
    // (undocumented)
    protected readonly terminal: ITerminal;
}

```
