1 import { RuleMetaData, RuleMetaDataDocs, RuleListener, RuleContext, RuleModule } from '../ts-eslint/Rule';
\r
2 declare type CreateRuleMetaDocs = Pick<RuleMetaDataDocs, Exclude<keyof RuleMetaDataDocs, 'url'>>;
\r
3 declare type CreateRuleMeta<TMessageIds extends string> = {
\r
4 docs: CreateRuleMetaDocs;
\r
5 } & Pick<RuleMetaData<TMessageIds>, Exclude<keyof RuleMetaData<TMessageIds>, 'docs'>>;
\r
6 declare function RuleCreator(urlCreator: (ruleName: string) => string): <TOptions extends readonly unknown[], TMessageIds extends string, TRuleListener extends RuleListener = RuleListener>({ name, meta, defaultOptions, create, }: Readonly<{
\r
8 meta: CreateRuleMeta<TMessageIds>;
\r
9 defaultOptions: Readonly<TOptions>;
\r
10 create: (context: Readonly<RuleContext<TMessageIds, TOptions>>, optionsWithDefault: Readonly<TOptions>) => TRuleListener;
\r
11 }>) => RuleModule<TMessageIds, TOptions, TRuleListener>;
\r
12 export { RuleCreator };
\r
13 //# sourceMappingURL=RuleCreator.d.ts.map
\r