import { SimpleCallExpression } from 'estree'; type LocaleName = string; type LocaleFilePath = string; type LocalizedStringKey = string; type LocaleStrings = Record; type UnprocessedLocalesMap = Record< LocaleName, LocaleFilePath | LocaleStrings >; type Options = { locales: UnprocessedLocalesMap; functionName?: string; throwOnMissing?: boolean; sourceMapForLocales?: string[]; warnOnUnusedString?: boolean; } & LocalizeCompilerOption; type LocalizeCompilerOption = LocalizedData extends string // optional if the localized data is a string ? { localizeCompiler?: LocalizeCompiler } : { localizeCompiler: LocalizeCompiler }; interface LocalizeCompilerContext { readonly callNode: SimpleCallExpression; resolveKey(stringKey?: string): LocalizedData; emitWarning(message: string): void; emitError(message: string): void; } interface LocalizeCompiler { [functionName: string]: ( this: LocalizeCompilerContext, functionArgments: string[], localeName: string, ) => string; } declare class LocalizeAssetsPlugin { constructor(options: Options); apply(compiler: any): void; } export { LocalizeAssetsPlugin as default };