import { Compiler } from 'webpack';
import { ObfuscatorOptions, IProApiConfig, TProApiProgressCallback } from 'javascript-obfuscator';
export type WebpackObfuscatorOptions = Omit<ObfuscatorOptions, 'inputFileName' | 'sourceMapBaseUrl' | 'sourceMapFileName' | 'sourceMapMode' | 'sourceMapSourcesMode'>;
export type { IProApiConfig, TProApiProgressCallback };
export declare class WebpackObfuscatorPlugin {
    options: WebpackObfuscatorOptions;
    static readonly loader: string;
    private static allowedExtensions;
    private static readonly baseIdentifiersPrefix;
    excludes: string[];
    proApiConfig?: IProApiConfig;
    onProgress?: TProApiProgressCallback;
    constructor(options?: WebpackObfuscatorOptions, excludes?: string | string[], proApiConfig?: IProApiConfig, onProgress?: TProApiProgressCallback);
    apply(compiler: Compiler): void;
    private shouldExclude;
    private extractSourceAndSourceMap;
    private obfuscate;
}
