import { ClosureTree } from "./closure/ClosureTree"; import { Environment } from "./Environment"; export declare type TargetOption = 'esm' | 'commonjs'; export declare type DefineValueType = string | boolean | number; export declare type WarningLevelOption = 'show' | 'hideLib' | 'hideUser' | 'hide'; export interface PluginDebugOptions { /** Enable log transformed Closure module to build directory, defaults to false. */ logTransformed?: boolean; } export interface PluginOptions { /** Path to Closure library base.js file, must be absolute or relative from the environment context. */ base?: string; /** sources List of absolute patterns, or relative from the environment context. */ sources: string | string[]; /** Closure module transform target, "esm" or "commonjs", defaults to "esm". */ target?: TargetOption; /** * List of string and value to override the goog.define expression, if the name part is omitted, its value will be true. * The value could be string, boolean and number. */ defs?: (string | [string] | [string, DefineValueType])[]; /** "show" show all warnings, "hidelib" hide warnings in Closure library modules and show warnings in user modules, "hideUser" opposite to "hideLib", "hide" hide all warnings, defualts to "hideLib". */ warningLevel?: WarningLevelOption; /** */ debug?: PluginDebugOptions; } export declare class GoogleClosureLibraryWebpackPlugin { readonly options: PluginOptions; readonly tree: ClosureTree | undefined; readonly env: Environment | undefined; constructor(options: PluginOptions); apply(compiler: any): void; }