///
export = linter;
/**
* @param {string|undefined} key
* @param {Options} options
* @param {Compilation} compilation
* @returns {{api: InternalApi, lint: Linter, report: Reporter, threads: number}}
*/
declare function linter(
key: string | undefined,
options: Options,
compilation: Compilation
): {
api: InternalApi;
lint: Linter;
report: Reporter;
threads: number;
};
declare namespace linter {
export {
Stylelint,
LintResult,
InternalApi,
Compiler,
Compilation,
Options,
FormatterType,
FormatterFunction,
GenerateReport,
Report,
Reporter,
Linter,
LintResultMap,
};
}
type Options = import('./options').Options;
type Compilation = import('webpack').Compilation;
type InternalApi = import('stylelint').InternalApi;
type Linter = (files: string | string[]) => void;
type Reporter = () => Promise;
type Stylelint = import('postcss').PluginCreator<
import('stylelint').PostcssPluginOptions
> & {
lint: (
options: import('stylelint').LinterOptions
) => Promise;
rules: {
[k: string]: import('stylelint').Rule;
};
formatters: {
[k: string]: import('stylelint').Formatter;
};
createPlugin: (
ruleName: string,
plugin: import('stylelint').Plugin
) => {
ruleName: string;
rule: import('stylelint').Rule;
};
createLinter: (
options: import('stylelint').LinterOptions
) => import('stylelint').InternalApi;
resolveConfig: (
filePath: string,
options?:
| Pick<
import('stylelint').LinterOptions,
'cwd' | 'config' | 'configFile' | 'configBasedir'
>
| undefined
) => Promise;
utils: {
report: (problem: import('stylelint').Problem) => void;
ruleMessages: <
T extends import('stylelint').RuleMessages,
R extends { [K in keyof T]: T[K] }
>(
ruleName: string,
messages: T
) => R;
validateOptions: (
result: import('stylelint').PostcssResult,
ruleName: string,
...optionDescriptions: import('stylelint').RuleOptions[]
) => boolean;
checkAgainstRule: (
options: {
ruleName: string;
ruleSettings: import('stylelint').ConfigRuleSettings;
root: import('postcss').Root;
},
callback: (warning: import('postcss').Warning) => void
) => void;
};
};
type LintResult = import('stylelint').LintResult;
type Compiler = import('webpack').Compiler;
type FormatterType = import('./options').FormatterType;
type FormatterFunction = (results: LintResult[]) => string;
type GenerateReport = (compilation: Compilation) => Promise;
type Report = {
errors?: StylelintError;
warnings?: StylelintError;
generateReportAsset?: GenerateReport;
};
type LintResultMap = {
[files: string]: import('stylelint').LintResult;
};
import StylelintError = require('./StylelintError');