31 lines
1.7 KiB
TypeScript
Executable file
31 lines
1.7 KiB
TypeScript
Executable file
import type { ParserServices, TSESLint } from '@typescript-eslint/experimental-utils';
|
|
export declare const createESLintRule: <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends TSESLint.RuleListener = TSESLint.RuleListener>({ name, meta, defaultOptions, create, }: Readonly<{
|
|
name: string;
|
|
meta: {
|
|
docs: {
|
|
category: "Best Practices" | "Stylistic Issues" | "Variables" | "Possible Errors";
|
|
description: string;
|
|
recommended: false | "error" | "warn";
|
|
suggestion?: boolean | undefined;
|
|
requiresTypeChecking?: boolean | undefined;
|
|
extendsBaseRule?: string | boolean | undefined;
|
|
};
|
|
} & Omit<TSESLint.RuleMetaData<TMessageIds>, "docs">;
|
|
defaultOptions: Readonly<TOptions>;
|
|
create: (context: Readonly<TSESLint.RuleContext<TMessageIds, TOptions>>, optionsWithDefault: Readonly<TOptions>) => TRuleListener;
|
|
}>) => TSESLint.RuleModule<TMessageIds, TOptions, TRuleListener>;
|
|
declare type RequiredParserServices = {
|
|
[k in keyof ParserServices]: Exclude<ParserServices[k], undefined>;
|
|
};
|
|
/**
|
|
* TODO: Expose via @typescript-eslint/experimental-utils
|
|
*/
|
|
export declare function getParserServices<TMessageIds extends string, TOptions extends any[]>(context: TSESLint.RuleContext<TMessageIds, TOptions>): RequiredParserServices;
|
|
declare type NodeMaps = {
|
|
[k in keyof Pick<ParserServices, 'esTreeNodeToTSNodeMap' | 'tsNodeToESTreeNodeMap'>]: NonNullable<ParserServices[k]>;
|
|
};
|
|
/**
|
|
* TODO: Expose via @typescript-eslint/experimental-utils
|
|
*/
|
|
export declare function getNodeMaps<_TMessageIds extends string, _TOptions extends any[]>(context: any): NodeMaps;
|
|
export {};
|