/** * @packageDocumentation * Shared helper for authoring statically typed Stylelint rules in this template. */ import type { Except } from "type-fest"; import stylelint, { type Rule, type RuleBase, type RuleMessages, type RuleMeta } from "stylelint"; /** Input contract for the shared Stylelint rule creator. */ export type CreateStylelintRuleOptions

> | undefined, M extends RuleMessages = RuleMessages> = Readonly<{ docs: StylelintRuleDocs; messages: M; meta?: Readonly & { url?: string; }>; primaryOptionArray?: boolean; rule: RuleBase; ruleName: string; }>; /** Fully assembled plugin object shape used by this template's rule registry. */ export type StylelintPluginRule

> | undefined, M extends RuleMessages = RuleMessages> = Readonly<{ docs: StylelintRuleDocs; messages: M; meta: Readonly<{ docs: StylelintRuleDocs; }> & RuleMeta; rule: Rule; ruleName: string; }> & ReturnType; /** Nongeneric public rule contract used for heterogeneous runtime registries. */ export type StylelintPluginRuleContract = Readonly<{ docs: StylelintRuleDocs; messages: RuleMessages; meta: Readonly<{ docs: StylelintRuleDocs; }> & RuleMeta; rule: Rule; ruleName: string; }> & ReturnType; /** Static authored docs metadata carried alongside each rule definition. */ export type StylelintRuleDocs = Readonly<{ description: string; recommended: boolean; url: string; }>; /** * Create a Stylelint plugin object while stamping the static runtime metadata * that Stylelint and this template expect. */ export declare const createStylelintRule:

> | undefined, M extends RuleMessages = RuleMessages>(options: CreateStylelintRuleOptions) => StylelintPluginRule; //# sourceMappingURL=create-stylelint-rule.d.ts.map