import { RuleConfig, AtRules, RegExpLike, LiteralUnion } from 'stylelint-define-config';

type AtRuleNameCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((name: string, expectedName: string) => string)
  }
>

type AtRuleNameNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line'
>

type AtRuleNameSpaceAfterOptions = RuleConfig<
  'always' | 'always-single-line'
>

type AtRuleSemicolonNewlineAfterOptions = RuleConfig<
  'always'
>

type AtRuleSemicolonSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type BlockClosingBraceEmptyLineBeforeOptions = RuleConfig<
  'always-multi-line' | 'never',
  {
    except?: ('after-closing-brace')[]
  }
>

type BlockClosingBraceNewlineAfterOptions = RuleConfig<
  'always' | 'always-single-line' | 'never-single-line' | 'always-multi-line' | 'never-multi-line',
  {
    ignoreAtRules?: AtRules[]
  }
>

type BlockClosingBraceNewlineBeforeOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'

>

type BlockClosingBraceSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line' | 'always-multi-line' | 'never-multi-line'
>

type BlockClosingBraceSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line' | 'always-multi-line' | 'never-multi-line'
>

type BlockOpeningBraceNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line',
  {
    ignore?: ('rules')[]
  }
>

type BlockOpeningBraceNewlineBeforeOptions = RuleConfig<
  'always' | 'always-single-line' | 'never-single-line' | 'always-multi-line' | 'never-multi-line'
>

type BlockOpeningBraceSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line' | 'always-multi-line' | 'never-multi-line',
  {
    ignore?: ('at-rules')[]
  }
>

type BlockOpeningBraceSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line' | 'always-multi-line' | 'never-multi-line',
  {
    ignoreAtRules?: (AtRules | RegExpLike)[]
    ignoreSelectors?: (string | RegExp)[]
  }
>

type ColorHexCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((value: string, expected: string) => string)
  }
>

type DeclarationBangSpaceAfterOptions = RuleConfig<
  'always' | 'never'
>

type DeclarationBangSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type DeclarationBlockSemicolonNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type DeclarationBlockSemicolonNewlineBeforeOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type DeclarationBlockSemicolonSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'

>

type DeclarationBlockSemicolonSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type DeclarationBlockTrailingSemicolonOptions = RuleConfig<
  'always' | 'never',
  {
    ignore?: ('single-declaration')[]
  }
>

type DeclarationColonNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line'
>

type DeclarationColonSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line'
>

type DeclarationColonSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type FunctionCommaNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type FunctionCommaNewlineBeforeOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type FunctionCommaSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type FunctionCommaSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type FunctionMaxEmptyLinesOptions = RuleConfig<number, {
  message?: string | ((primary: number) => string)
}>

type FunctionParenthesesNewlineInsideOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type FunctionParenthesesSpaceInsideOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'

>

type FunctionWhitespaceAfterOptions = RuleConfig<
  'always' | 'never'
>

type IndentationOptions = RuleConfig<
  LiteralUnion<2 | 4, number> | 'tab',
  {
    baseIndentLevel?: number | 'auto'
    indentInsideParens?: 'twice' | 'once-at-root-twice-in-block'
    indentClosingBrace?: boolean
    except?: ('block' | 'param' | 'value')[]
    ignore?: ('inside-parens' | 'param' | 'value')[]
    message?: string | ((expectation: string) => string)
  }
>

type LinebreaksOptions = RuleConfig<
  number,
  {
    message?: string | ((emptyLines: string) => string)
  }
>

type MaxEmptyLinesOptions = RuleConfig<
  LiteralUnion<1 | 2, number>,
  {
    ignore?: ('comments')[]
  }
>

type MaxLineLengthOptions = RuleConfig<
  number,
  {
    ignore?: ('non-comments' | 'comments')[]
    ignorePattern?: RegExpLike[]
    message?: string | ((lineLength: number) => string)
  }
>

type MediaFeatureColonSpaceAfterOptions = RuleConfig<
  'always' | 'never'
>

type MediaFeatureColonSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type MediaFeatureNameCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((name: string, expectedName: string) => string)
  }
>

type MediaFeatureParenthesesSpaceInsideOptions = RuleConfig<
  'always' | 'never'
>

type MediaFeatureRangeOperatorSpaceAfterOptions = RuleConfig<
  'always' | 'never'
>

type MediaFeatureRangeOperatorSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type MediaQueryListCommaNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type MediaQueryListCommaNewlineBeforeOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type MediaQueryListCommaSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type MediaQueryListCommaSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type NamedGridAreasAlignmentOptions = RuleConfig<true, {
  gap?: number
  alignQuotes?: boolean
  message?: string | (() => string)
}>

type NoEmptyFirstLineOptions = RuleConfig<true>

type NoEolWhitespaceOptions = RuleConfig<
  true,
  {
    ignore?: ('empty-lines')[]
  }
>

type NoExtraSemicolonsOptions = RuleConfig<true>

type NoMissingEndOfSourceNewlineOptions = RuleConfig<true>

type NumberLeadingZeroOptions = RuleConfig<
  'always' | 'never'
>

type NumberNoTrailingZerosOptions = RuleConfig<true>

type PropertyCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((property: string, expectedProperty: string) => string)
  }
>

type SelectorAttributeBracketsSpaceInsideOptions = RuleConfig<
  'always' | 'never'
>

type SelectorAttributeOperatorSpaceAfterOptions = RuleConfig<
  'always' | 'never'
>

type SelectorAttributeOperatorSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type SelectorCombinatorSpaceAfterOptions = RuleConfig<
  'always' | 'never'
>

type SelectorCombinatorSpaceBeforeOptions = RuleConfig<
  'always' | 'never'
>

type SelectorDescendantCombinatorNoNonSpaceOptions = RuleConfig<true, {
  message?: string | ((value: string) => string)
}>

type SelectorListCommaNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type SelectorListCommaNewlineBeforeOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type SelectorListCommaSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type SelectorListCommaSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type SelectorMaxEmptyLinesOptions = RuleConfig<
  LiteralUnion<0 | 1, number>,
  {
    message?: string | ((max: number) => string)
  }
>

type SelectorPseudoClassCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((pseudoClass: string, expectedPseudoClass: string) => string)
  }
>

type SelectorPseudoClassParenthesesSpaceInsideOptions = RuleConfig<
  'always' | 'never'
>

type SelectorPseudoElementCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((pseudoElement: string, expectedPseudoElement: string) => string)
  }
>

type StringQuotesOptions = RuleConfig<
  'single' | 'double',
  {
    avoidEscape?: boolean
    message: string | ((quotes: string) => string)
  }
>

type UnicodeBomOptions = RuleConfig<
  'always' | 'never'
>

type UnitCaseOptions = RuleConfig<
  'lower' | 'upper',
  {
    message?: string | ((unit: string, expectedUnit: string) => string)
  }
>

type ValueListCommaNewlineAfterOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type ValueListCommaNewlineBeforeOptions = RuleConfig<
  'always' | 'always-multi-line' | 'never-multi-line'
>

type ValueListCommaSpaceAfterOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type ValueListCommaSpaceBeforeOptions = RuleConfig<
  'always' | 'never' | 'always-single-line' | 'never-single-line'
>

type ValueListMaxEmptyLinesOptions = RuleConfig<number, {
  message?: string | ((max: number) => string)
}>

interface Extends {
    '@stylistic/stylelint-config': void;
}
interface Plugins {
    '@stylistic/stylelint-plugin': void;
}
interface RuleOptions {
    /**
     * Require a newline after at-rule names.
     *
     * @see [at-rule-name-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/at-rule-name-newline-after)
     */
    '@stylistic/at-rule-name-newline-after': AtRuleNameNewlineAfterOptions;
    /**
     * Require a single space after at-rule names.
     *
     * @see [at-rule-name-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/at-rule-name-space-after)
     */
    '@stylistic/at-rule-name-space-after': AtRuleNameSpaceAfterOptions;
    /**
     * Specify lowercase or uppercase for at-rules names.
     *
     * @see [at-rule-name-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/at-rule-name-case)
     */
    '@stylistic/at-rule-name-case': AtRuleNameCaseOptions;
    /**
     * Require a single space or disallow whitespace before the semicolons of at-rules.
     *
     * @see [at-rule-semicolon-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/at-rule-semicolon-space-before)
     */
    '@stylistic/at-rule-semicolon-space-before': AtRuleSemicolonSpaceBeforeOptions;
    /**
     * Require or disallow an empty line before the closing brace of blocks.
     *
     * @see [block-closing-brace-empty-line-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-closing-brace-empty-line-before)
     */
    '@stylistic/block-closing-brace-empty-line-before': BlockClosingBraceEmptyLineBeforeOptions;
    /**
     * Require a newline after the semicolon of at-rules.
     *
     * @see [at-rule-semicolon-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/at-rule-semicolon-newline-after)
     */
    '@stylistic/at-rule-semicolon-newline-after': AtRuleSemicolonNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace after the closing brace of blocks.
     *
     * @see [block-closing-brace-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-closing-brace-newline-after)
     */
    '@stylistic/block-closing-brace-newline-after': BlockClosingBraceNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the closing brace of blocks.
     *
     * @see [block-closing-brace-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-closing-brace-newline-before)
     */
    '@stylistic/block-closing-brace-newline-before': BlockClosingBraceNewlineBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the closing brace of blocks.
     *
     * @see [block-closing-brace-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-closing-brace-space-after)
     */
    '@stylistic/block-closing-brace-space-after': BlockClosingBraceSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the closing brace of blocks.
     *
     * @see [block-closing-brace-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-closing-brace-space-before)
     */
    '@stylistic/block-closing-brace-space-before': BlockClosingBraceSpaceBeforeOptions;
    /**
     * Require a newline after the opening brace of blocks.
     *
     * @see [block-opening-brace-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-opening-brace-newline-after)
     */
    '@stylistic/block-opening-brace-newline-after': BlockOpeningBraceNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the opening brace of blocks.
     *
     * @see [block-opening-brace-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-opening-brace-newline-before)
     */
    '@stylistic/block-opening-brace-newline-before': BlockOpeningBraceNewlineBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the opening brace of blocks.
     *
     * @see [block-opening-brace-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-opening-brace-space-after)
     */
    '@stylistic/block-opening-brace-space-after': BlockOpeningBraceSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the opening brace of blocks.
     *
     * @see [block-opening-brace-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/block-opening-brace-space-before)
     */
    '@stylistic/block-opening-brace-space-before': BlockOpeningBraceSpaceBeforeOptions;
    /**
     * Specify lowercase or uppercase for hex colors.
     *
     * @see [color-hex-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/color-hex-case)
     */
    '@stylistic/color-hex-case': ColorHexCaseOptions;
    /**
     * Require a single space or disallow whitespace after the bang of declarations.
     *
     * @see [declaration-bang-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-bang-space-after)
     */
    '@stylistic/declaration-bang-space-after': DeclarationBangSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the bang of declarations.
     *
     * @see [declaration-bang-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-bang-space-before)
     */
    '@stylistic/declaration-bang-space-before': DeclarationBangSpaceBeforeOptions;
    /**
     * Require a newline or disallow whitespace after the semicolons of declaration blocks.
     *
     * @see [declaration-block-semicolon-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-block-semicolon-newline-after)
     */
    '@stylistic/declaration-block-semicolon-newline-after': DeclarationBlockSemicolonNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the semicolons of declaration blocks.
     *
     * @see [declaration-block-semicolon-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-block-semicolon-newline-before)
     */
    '@stylistic/declaration-block-semicolon-newline-before': DeclarationBlockSemicolonNewlineBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the semicolons of declaration blocks.
     *
     * @see [declaration-block-semicolon-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-block-semicolon-space-after)
     */
    '@stylistic/declaration-block-semicolon-space-after': DeclarationBlockSemicolonSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the semicolons of declaration blocks.
     *
     * @see [declaration-block-semicolon-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-block-semicolon-space-before)
     */
    '@stylistic/declaration-block-semicolon-space-before': DeclarationBlockSemicolonSpaceBeforeOptions;
    /**
     * Require or disallow a trailing semicolon within declaration blocks.
     *
     * @see [declaration-block-trailing-semicolon](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-block-trailing-semicolon)
     */
    '@stylistic/declaration-block-trailing-semicolon': DeclarationBlockTrailingSemicolonOptions;
    /**
     * Require a single space or disallow whitespace after the colon of declarations.
     *
     * @see [declaration-colon-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-colon-space-after)
     */
    '@stylistic/declaration-colon-space-after': DeclarationColonSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the colon of declarations.
     *
     * @see [declaration-colon-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-colon-space-before)
     */
    '@stylistic/declaration-colon-space-before': DeclarationColonSpaceBeforeOptions;
    /**
     * Require a newline or disallow whitespace after the commas of functions.
     *
     * @see [function-comma-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-comma-newline-after)
     */
    '@stylistic/function-comma-newline-after': FunctionCommaNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the commas of functions.
     *
     * @see [function-comma-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-comma-newline-before)
     */
    '@stylistic/function-comma-newline-before': FunctionCommaNewlineBeforeOptions;
    /**
     * Require a newline or disallow whitespace after the colon of declarations.
     *
     * @see [declaration-colon-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/declaration-colon-newline-after)
     */
    '@stylistic/declaration-colon-newline-after': DeclarationColonNewlineAfterOptions;
    /**
     * Require a single space or disallow whitespace after the commas of functions.
     *
     * @see [function-comma-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-comma-space-after)
     */
    '@stylistic/function-comma-space-after': FunctionCommaSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the commas of functions.
     *
     * @see [function-comma-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-comma-space-before)
     */
    '@stylistic/function-comma-space-before': FunctionCommaSpaceBeforeOptions;
    /**
     * Limit the number of adjacent empty lines within functions.
     *
     * @see [function-max-empty-lines](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-max-empty-lines)
     */
    '@stylistic/function-max-empty-lines': FunctionMaxEmptyLinesOptions;
    /**
     * Require a newline or disallow whitespace on the inside of the parentheses of functions.
     *
     * @see [function-parentheses-newline-inside](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-parentheses-newline-inside)
     */
    '@stylistic/function-parentheses-newline-inside': FunctionParenthesesNewlineInsideOptions;
    /**
     * Require a single space or disallow whitespace on the inside of the parentheses of functions.
     *
     * @see [function-parentheses-space-inside](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-parentheses-space-inside)
     */
    '@stylistic/function-parentheses-space-inside': FunctionParenthesesSpaceInsideOptions;
    /**
     * Require or disallow whitespace after functions.
     *
     * @see [function-whitespace-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/function-whitespace-after)
     */
    '@stylistic/function-whitespace-after': FunctionWhitespaceAfterOptions;
    /**
     * Specify indentation.
     *
     * @see [indentation](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/indentation)
     */
    '@stylistic/indentation': IndentationOptions;
    /**
     * Specify unix or windows linebreaks.
     *
     * The [`fix` option](https://stylelint.io/user-guide/options#fix) can automatically fix all of the problems reported by this rule.
     *
     * @see [linebreaks](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/linebreaks)
     */
    '@stylistic/linebreaks': LinebreaksOptions;
    /**
     * Limit the number of adjacent empty lines.
     *
     * @see [max-empty-lines](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/max-empty-lines)
     */
    '@stylistic/max-empty-lines': MaxEmptyLinesOptions;
    /**
     * Limit the length of a line.
     *
     * @see [max-line-length](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/max-line-length)
     */
    '@stylistic/max-line-length': MaxLineLengthOptions;
    /**
     * Require a single space or disallow whitespace after the colon in media features.
     *
     * @see [media-feature-colon-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-feature-colon-space-after)
     */
    '@stylistic/media-feature-colon-space-after': MediaFeatureColonSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the colon in media features.
     *
     * @see [media-feature-colon-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-feature-colon-space-before)
     */
    '@stylistic/media-feature-colon-space-before': MediaFeatureColonSpaceBeforeOptions;
    /**
     * Specify lowercase or uppercase for media feature names.
     *
     * @see [media-feature-name-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-feature-name-case)
     */
    '@stylistic/media-feature-name-case': MediaFeatureNameCaseOptions;
    /**
     * Require a single space or disallow whitespace on the inside of the parentheses within media features.
     *
     * @see [media-feature-parentheses-space-inside](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-feature-parentheses-space-inside)
     */
    '@stylistic/media-feature-parentheses-space-inside': MediaFeatureParenthesesSpaceInsideOptions;
    /**
     * Require a single space or disallow whitespace after the range operator in media features.
     *
     * @see [media-feature-range-operator-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-feature-range-operator-space-after)
     */
    '@stylistic/media-feature-range-operator-space-after': MediaFeatureRangeOperatorSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the range operator in media features.
     *
     * @see [media-feature-range-operator-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-feature-range-operator-space-before)
     */
    '@stylistic/media-feature-range-operator-space-before': MediaFeatureRangeOperatorSpaceBeforeOptions;
    /**
     * Require a newline or disallow whitespace after the commas of media query lists.
     *
     * @see [media-query-list-comma-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-query-list-comma-newline-after)
     */
    '@stylistic/media-query-list-comma-newline-after': MediaQueryListCommaNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the commas of media query lists.
     *
     * @see [media-query-list-comma-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-query-list-comma-newline-before)
     */
    '@stylistic/media-query-list-comma-newline-before': MediaQueryListCommaNewlineBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the commas of media query lists.
     *
     * @see [media-query-list-comma-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-query-list-comma-space-after)
     */
    '@stylistic/media-query-list-comma-space-after': MediaQueryListCommaSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the commas of media query lists.
     *
     * @see [media-query-list-comma-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/media-query-list-comma-space-before)
     */
    '@stylistic/media-query-list-comma-space-before': MediaQueryListCommaSpaceBeforeOptions;
    /**
     * Require cell tokens (and optionally ending quotes) within grid-template-areas to be aligned.
     *
     * @see [value-list-max-empty-lines](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/named-grid-areas-alignment)
     */
    '@stylistic/named-grid-areas-alignment': NamedGridAreasAlignmentOptions;
    /**
     * Disallow empty first lines.
     *
     * @see [no-empty-first-line](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/no-empty-first-line)
     */
    '@stylistic/no-empty-first-line': NoEmptyFirstLineOptions;
    /**
     * Disallow end-of-line whitespace.
     *
     * @see [no-eol-whitespace](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/no-eol-whitespace)
     */
    '@stylistic/no-eol-whitespace': NoEolWhitespaceOptions;
    /**
     * Disallow extra semicolons.
     *
     * @see [no-extra-semicolons](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/no-extra-semicolons)
     */
    '@stylistic/no-extra-semicolons': NoExtraSemicolonsOptions;
    /**
     * Disallow missing end-of-source newlines.
     *
     * @see [no-missing-end-of-source-newline](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/no-missing-end-of-source-newline)
     */
    '@stylistic/no-missing-end-of-source-newline': NoMissingEndOfSourceNewlineOptions;
    /**
     * Require or disallow a leading zero for fractional numbers less than 1.
     *
     * @see [number-leading-zero](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/number-leading-zero)
     */
    '@stylistic/number-leading-zero': NumberLeadingZeroOptions;
    /**
     * Disallow trailing zeros in numbers.
     *
     * @see [number-no-trailing-zeros](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/number-no-trailing-zeros)
     */
    '@stylistic/number-no-trailing-zeros': NumberNoTrailingZerosOptions;
    /**
     * Require a single space or disallow whitespace on the inside of the brackets within attribute selectors.
     *
     * @see [selector-attribute-brackets-space-inside](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-attribute-brackets-space-inside)
     */
    '@stylistic/selector-attribute-brackets-space-inside': SelectorAttributeBracketsSpaceInsideOptions;
    /**
     * Specify lowercase or uppercase for properties.
     *
     * @see [property-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/property-case)
     */
    '@stylistic/property-case': PropertyCaseOptions;
    /**
     * Require a single space or disallow whitespace after operators within attribute selectors.
     *
     * @see [selector-attribute-operator-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-attribute-operator-space-after)
     */
    '@stylistic/selector-attribute-operator-space-after': SelectorAttributeOperatorSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before operators within attribute selectors.
     *
     * @see [selector-attribute-operator-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-attribute-operator-space-before)
     */
    '@stylistic/selector-attribute-operator-space-before': SelectorAttributeOperatorSpaceBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the combinators of selectors.
     *
     * @see [selector-combinator-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-combinator-space-after)
     */
    '@stylistic/selector-combinator-space-after': SelectorCombinatorSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the combinators of selectors.
     *
     * @see [selector-combinator-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-combinator-space-before)
     */
    '@stylistic/selector-combinator-space-before': SelectorCombinatorSpaceBeforeOptions;
    /**
     * Disallow non-space characters for descendant combinators of selectors.
     *
     * @see [selector-descendant-combinator-no-non-space](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-descendant-combinator-no-non-space)
     */
    '@stylistic/selector-descendant-combinator-no-non-space': SelectorDescendantCombinatorNoNonSpaceOptions;
    /**
     * Require a newline or disallow whitespace after the commas of selector lists.
     *
     * @see [selector-list-comma-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-list-comma-newline-after)
     */
    '@stylistic/selector-list-comma-newline-after': SelectorListCommaNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the commas of selector lists.
     *
     * @see [selector-list-comma-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-list-comma-newline-before)
     */
    '@stylistic/selector-list-comma-newline-before': SelectorListCommaNewlineBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the commas of selector lists.
     *
     * @see [selector-list-comma-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-list-comma-space-after)
     */
    '@stylistic/selector-list-comma-space-after': SelectorListCommaSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the commas of selector lists.
     *
     * @see [selector-list-comma-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-list-comma-space-before)
     */
    '@stylistic/selector-list-comma-space-before': SelectorListCommaSpaceBeforeOptions;
    /**
     * Limit the number of adjacent empty lines within selectors.
     *
     * @see [selector-max-empty-lines](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-max-empty-lines)
     */
    '@stylistic/selector-max-empty-lines': SelectorMaxEmptyLinesOptions;
    /**
     * Specify lowercase or uppercase for pseudo-class selectors.
     *
     * @see [selector-pseudo-class-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-pseudo-class-case)
     */
    '@stylistic/selector-pseudo-class-case': SelectorPseudoClassCaseOptions;
    /**
     * Specify lowercase or uppercase for pseudo-element selectors.
     *
     * @see [selector-pseudo-element-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-pseudo-element-case)
     */
    '@stylistic/selector-pseudo-element-case': SelectorPseudoElementCaseOptions;
    /**
     * Require a single space or disallow whitespace on the inside of the parentheses within pseudo-class selectors.
     *
     * @see [selector-pseudo-class-parentheses-space-inside](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/selector-pseudo-class-parentheses-space-inside)
     */
    '@stylistic/selector-pseudo-class-parentheses-space-inside': SelectorPseudoClassParenthesesSpaceInsideOptions;
    /**
     * Specify single or double quotes around strings.
     *
     * @see [string-quotes](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/string-quotes)
     */
    '@stylistic/string-quotes': StringQuotesOptions;
    /**
     * Require or disallow the Unicode Byte Order Mark.
     *
     * @see [unicode-bom](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/unicode-bom)
     */
    '@stylistic/unicode-bom': UnicodeBomOptions;
    /**
     * Specify lowercase or uppercase for units.
     *
     * @see [unit-case](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/unit-case)
     */
    '@stylistic/unit-case': UnitCaseOptions;
    /**
     * Require a newline or disallow whitespace after the commas of value lists.
     *
     * @see [value-list-comma-newline-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/value-list-comma-newline-after)
     */
    '@stylistic/value-list-comma-newline-after': ValueListCommaNewlineAfterOptions;
    /**
     * Require a newline or disallow whitespace before the commas of value lists.
     *
     * @see [value-list-comma-newline-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/value-list-comma-newline-before)
     */
    '@stylistic/value-list-comma-newline-before': ValueListCommaNewlineBeforeOptions;
    /**
     * Require a single space or disallow whitespace after the commas of value lists.
     *
     * @see [value-list-comma-space-after](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/value-list-comma-space-after)
     */
    '@stylistic/value-list-comma-space-after': ValueListCommaSpaceAfterOptions;
    /**
     * Require a single space or disallow whitespace before the commas of value lists.
     *
     * @see [value-list-comma-space-before](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/value-list-comma-space-before)
     */
    '@stylistic/value-list-comma-space-before': ValueListCommaSpaceBeforeOptions;
    /**
     * Limit the number of adjacent empty lines within value lists.
     *
     * @see [value-list-max-empty-lines](https://github.com/stylelint-stylistic/stylelint-stylistic/tree/main/lib/rules/value-list-max-empty-lines)
     */
    '@stylistic/value-list-max-empty-lines': ValueListMaxEmptyLinesOptions;
}

declare module 'stylelint-define-config' {
    interface CustomPlugins extends Plugins {
    }
    interface CustomExtends extends Extends {
    }
    interface CustomRuleOptions extends RuleOptions {
    }
}
