UNPKG

@masknet/eslint-plugin

Version:
20 lines 1.64 kB
import type { ParserServices, ParserServicesWithTypeInformation } from '@typescript-eslint/utils'; import type { RuleContext, RuleListener, RuleMetaData } from '@typescript-eslint/utils/ts-eslint'; interface Metadata<TMessageIDs extends string, TOptions extends readonly unknown[]> extends RuleMetaData<TMessageIDs, TOptions> { hidden?: boolean; } export interface RuleModule<TResolvedOptions, TOptions extends readonly unknown[], TMessageIDs extends string, TRuleListener extends RuleListener> { readonly name: string; readonly meta: Metadata<TMessageIDs, TOptions>; resolveOptions?(...options: TOptions): TResolvedOptions; create(context: Readonly<RuleContext<TMessageIDs, TOptions>>, options: TResolvedOptions): TRuleListener; } export interface ExportedRuleModule<TOptions extends readonly unknown[] = unknown[], TMessageIDs extends string = string, TRuleListener extends RuleListener = RuleListener> { readonly name: string; readonly meta: Metadata<TMessageIDs, TOptions>; create(context: Readonly<RuleContext<TMessageIDs, TOptions>>): TRuleListener; } export type { RuleContext } from '@typescript-eslint/utils/ts-eslint'; export declare function createRule<TResolvedOptions, TOptions extends unknown[], TMessageIDs extends string, TRuleListener extends RuleListener = RuleListener>({ name, meta, create, resolveOptions }: RuleModule<TResolvedOptions, TOptions, TMessageIDs, TRuleListener>): any; export declare function ensureParserWithTypeInformation(parserServices: Partial<ParserServices> | undefined): asserts parserServices is ParserServicesWithTypeInformation; //# sourceMappingURL=rule.d.ts.map