import {
    RuleSetRule,
    RuleSetUseItem,
    Configuration,
    Compilation,
    MultiStats,
    Stats
} from 'webpack';

import type {Context, Attr, HtmlConfig, IConfig} from '@sanpjs/core';
export interface IArgs {
    [option: string]: any;
    _: string[];
}
export type Callback = (err?: any, stats?: MultiStats | Stats) => void;
export interface Processor {
    config: {
        [key: string]: any;
    };
    defaultValue: any;
    check: (value: any, {report: any, notice: any}, args: IArgs) => any;
}
export {
    Context,
    Attr,
    HtmlConfig,
    IConfig,
    Configuration,
    RuleSetUseItem,
    Compilation,
    Stats,
    MultiStats,
    IRule,
    ILoader,
    ILoaders,
    Internals
};
