## API Report File for "@rushstack/webpack4-localization-plugin"

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

```ts

import type { IgnoreStringFunction } from '@rushstack/localization-utilities';
import { ILocalizationFile } from '@rushstack/localization-utilities';
import type { IPseudolocaleOptions } from '@rushstack/localization-utilities';
import type { ITerminal } from '@rushstack/terminal';
import * as Webpack from 'webpack';

// @public (undocumented)
export interface IDefaultLocaleOptions {
    fillMissingTranslationStrings?: boolean;
    localeName: string;
}

// @public (undocumented)
export interface ILocaleData {
    // (undocumented)
    [locFilePath: string]: string | ILocaleFileData;
}

// @public (undocumented)
export interface ILocaleElementMap {
    // (undocumented)
    [locale: string]: string;
}

// @public (undocumented)
export interface ILocaleFileData {
    // (undocumented)
    [stringName: string]: string;
}

// @public
export interface ILocalizationPluginOptions {
    // @deprecated (undocumented)
    filesToIgnore?: string[];
    globsToIgnore?: string[];
    ignoreString?: IgnoreStringFunction;
    localizationStats?: ILocalizationStatsOptions;
    localizedData: ILocalizedData;
    noStringsLocaleName?: string;
    typingsOptions?: ITypingsGenerationOptions;
}

// @public (undocumented)
export interface ILocalizationStats {
    // (undocumented)
    entrypoints: {
        [name: string]: ILocalizationStatsEntrypoint;
    };
    // (undocumented)
    namedChunkGroups: {
        [name: string]: ILocalizationStatsChunkGroup;
    };
}

// @public (undocumented)
export interface ILocalizationStatsChunkGroup {
    // (undocumented)
    localizedAssets: ILocaleElementMap;
}

// @public (undocumented)
export interface ILocalizationStatsEntrypoint {
    // (undocumented)
    localizedAssets: ILocaleElementMap;
}

// @public
export interface ILocalizationStatsOptions {
    callback?: (stats: ILocalizationStats) => void;
    dropPath?: string;
}

// @public (undocumented)
export interface ILocalizedData {
    defaultLocale: IDefaultLocaleOptions;
    ignoreMissingResxComments?: boolean;
    normalizeResxNewlines?: 'lf' | 'crlf';
    passthroughLocale?: IPassthroughLocaleOptions;
    pseudolocales?: IPseudolocalesOptions;
    resolveMissingTranslatedStrings?: (locales: string[], filePath: string) => IResolvedMissingTranslations;
    translatedStrings: ILocalizedStrings;
}

// @public (undocumented)
export interface ILocalizedStrings {
    // (undocumented)
    [locale: string]: ILocaleData;
}

// @public (undocumented)
export interface ILocalizedWebpackChunk extends Webpack.compilation.Chunk {
    // (undocumented)
    localizedFiles?: {
        [locale: string]: string;
    };
}

// @public
export interface IPassthroughLocaleOptions {
    passthroughLocaleName?: string;
    usePassthroughLocale?: boolean;
}

// @public
export interface IPseudolocalesOptions {
    // (undocumented)
    [pseudoLocaleName: string]: IPseudolocaleOptions;
}

// @public (undocumented)
export interface IResolvedMissingTranslations {
    // (undocumented)
    [localeName: string]: string | ILocaleFileData;
}

// @internal (undocumented)
export interface _IStringPlaceholder {
    // (undocumented)
    suffix: string;
    // (undocumented)
    value: string;
}

// @public
export interface ITypingsGenerationOptions {
    exportAsDefault?: boolean;
    generatedTsFolder: string;
    // @deprecated (undocumented)
    ignoreString?: (resxFilePath: string, stringName: string) => boolean;
    processComment?: (comment: string | undefined, resxFilePath: string, stringName: string) => string | undefined;
    secondaryGeneratedTsFolders?: string[];
    sourceRoot?: string;
}

// @public
export class LocalizationPlugin implements Webpack.Plugin {
    constructor(options: ILocalizationPluginOptions);
    // Warning: (ae-forgotten-export) The symbol "IAddDefaultLocFileResult" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    addDefaultLocFile(terminal: ITerminal, localizedResourcePath: string, localizedResourceData: ILocalizationFile): IAddDefaultLocFileResult;
    // (undocumented)
    apply(compiler: Webpack.Compiler): void;
    // Warning: (ae-forgotten-export) The symbol "IStringSerialNumberData" needs to be exported by the entry point index.d.ts
    //
    // @internal (undocumented)
    getDataForSerialNumber(serialNumber: string): IStringSerialNumberData | undefined;
    // @internal (undocumented)
    stringKeys: Map<string, _IStringPlaceholder>;
}

// (No @packageDocumentation comment for this package)

```
