// Generated by dts-bundle-generator v9.5.1 import { NamedCreateRuleMeta } from '@typescript-eslint/utils/eslint-utils'; import { FlatConfig, RuleModule } from '@typescript-eslint/utils/ts-eslint'; import { Immutability } from 'is-immutable-type'; import { TypeDeclarationSpecifier } from 'ts-declaration-location'; export type Docs = { /** * Used for creating category configs and splitting the README rules list into sub-lists. */ category: "Currying" | "No Exceptions" | "No Mutations" | "No Other Paradigms" | "No Statements" | "Stylistic"; recommended: "recommended" | "strict" | false; recommendedSeverity: "error" | "warn"; requiresTypeChecking: boolean; url?: never; }; /** * Any custom rule meta properties. */ export type NamedCreateRuleCustomMeta = NamedCreateRuleMeta; /** * The definition of a rule. */ export type Rule> = RuleModule & { meta: NamedCreateRuleCustomMeta; }; /** * The option to ignore patterns. */ export type IgnoreIdentifierPatternOption = Readonly<{ ignoreIdentifierPattern?: ReadonlyArray | string; }>; /** * The option to ignore patterns. */ export type IgnoreCodePatternOption = Readonly<{ ignoreCodePattern?: ReadonlyArray | string; }>; /** * The option to ignore accessor patterns. */ export type IgnoreAccessorPatternOption = Readonly<{ ignoreAccessorPattern?: ReadonlyArray | string; }>; /** * The option to ignore classes. */ export type IgnoreClassesOption = Readonly<{ ignoreClasses: boolean | "fieldsOnly"; }>; /** * The option to ignore prefix selector. */ export type IgnorePrefixSelectorOption = Readonly<{ ignorePrefixSelector?: ReadonlyArray | string; }>; export type RawTypeSpecifier = { name?: string | string[]; pattern?: string | string[]; ignoreName?: string | string[]; ignorePattern?: string | string[]; } & TypeDeclarationSpecifier; export type RawOverridableOptions = CoreOptions & { overrides?: Array<{ specifiers?: RawTypeSpecifier | RawTypeSpecifier[]; options?: CoreOptions; inherit?: boolean; disable?: boolean; }>; }; declare const ruleNameScope = "functional"; declare const name = "functional-parameters"; declare const fullName: `${typeof ruleNameScope}/${typeof name}`; /** * The parameter count options this rule can take. */ export type ParameterCountOptions = "atLeastOne" | "exactlyOne"; export type CoreOptions = IgnoreIdentifierPatternOption & IgnorePrefixSelectorOption & { allowRestParameter: boolean; allowArgumentsKeyword: boolean; enforceParameterCount: ParameterCountOptions | false | { count: ParameterCountOptions; ignoreLambdaExpression: boolean; ignoreIIFE: boolean; ignoreGettersAndSetters: boolean; }; }; /** * The options this rule can take. */ export type RawOptions = [ RawOverridableOptions ]; declare const errorMessages: { readonly restParam: "Unexpected rest parameter. Use a regular parameter of type array instead."; readonly arguments: "Unexpected use of `arguments`. Use regular function arguments instead."; readonly paramCountAtLeastOne: "Functions must have at least one parameter."; readonly paramCountExactlyOne: "Functions must have exactly one parameter."; }; declare const rule: Rule; declare const name$1 = "immutable-data"; declare const fullName$1: `${typeof ruleNameScope}/${typeof name$1}`; type CoreOptions$1 = IgnoreAccessorPatternOption & IgnoreClassesOption & IgnoreIdentifierPatternOption & { ignoreImmediateMutation: boolean; ignoreNonConstDeclarations: boolean | { treatParametersAsConst: boolean; }; }; type RawOptions$1 = [ RawOverridableOptions ]; declare const errorMessages$1: { readonly generic: "Modifying an existing object/array is not allowed."; readonly object: "Modifying properties of existing object not allowed."; readonly array: "Modifying an array is not allowed."; }; declare const rule$1: Rule; declare const name$2 = "no-class-inheritance"; declare const fullName$2: `${typeof ruleNameScope}/${typeof name$2}`; /** * The options this rule can take. */ export type Options = [ IgnoreIdentifierPatternOption & IgnoreCodePatternOption ]; declare const errorMessages$2: { readonly abstract: "Unexpected abstract class."; readonly extends: "Unexpected inheritance, use composition instead."; }; declare const rule$2: Rule; declare const name$3 = "no-classes"; declare const fullName$3: `${typeof ruleNameScope}/${typeof name$3}`; type Options$1 = [ IgnoreIdentifierPatternOption & IgnoreCodePatternOption ]; declare const errorMessages$3: { readonly generic: "Unexpected class, use functions not classes."; }; declare const rule$3: Rule; declare const name$4 = "no-conditional-statements"; declare const fullName$4: `${typeof ruleNameScope}/${typeof name$4}`; type Options$2 = [ { allowReturningBranches: boolean | "ifExhaustive"; } ]; declare const errorMessages$4: { readonly incompleteBranch: "Incomplete branch, every branch in a conditional statement must contain a return statement."; readonly incompleteIf: "Incomplete if, it must have an else statement and every branch must contain a return statement."; readonly incompleteSwitch: "Incomplete switch, it must be exhaustive or have an default case and every case must contain a return statement."; readonly unexpectedIf: "Unexpected if, use a conditional expression (ternary operator) instead."; readonly unexpectedSwitch: "Unexpected switch, use a conditional expression (ternary operator) instead."; }; declare const rule$4: Rule; declare const name$5 = "no-expression-statements"; declare const fullName$5: `${typeof ruleNameScope}/${typeof name$5}`; type Options$3 = [ IgnoreCodePatternOption & { ignoreVoid: boolean; ignoreSelfReturning: boolean; } ]; declare const errorMessages$5: { readonly generic: "Using expressions to cause side-effects not allowed."; }; declare const rule$5: Rule; declare const name$6 = "no-let"; declare const fullName$6: `${typeof ruleNameScope}/${typeof name$6}`; type Options$4 = [ IgnoreIdentifierPatternOption & { allowInForLoopInit: boolean; allowInFunctions: boolean; } ]; declare const errorMessages$6: { readonly generic: "Unexpected let, use const instead."; }; declare const rule$6: Rule; declare const name$7 = "no-loop-statements"; declare const fullName$7: `${typeof ruleNameScope}/${typeof name$7}`; type Options$5 = [ {} ]; declare const errorMessages$7: { readonly generic: "Unexpected loop, use map or reduce instead."; }; declare const rule$7: Rule; declare const name$8 = "no-mixed-types"; declare const fullName$8: `${typeof ruleNameScope}/${typeof name$8}`; type Options$6 = [ { checkInterfaces: boolean; checkTypeLiterals: boolean; } ]; declare const errorMessages$8: { readonly generic: "Only the same kind of members allowed in types."; }; declare const rule$8: Rule; declare const name$9 = "no-promise-reject"; declare const fullName$9: `${typeof ruleNameScope}/${typeof name$9}`; type Options$7 = [ {} ]; declare const errorMessages$9: { readonly generic: "Unexpected rejection, resolve an error instead."; }; declare const rule$9: Rule; declare const name$10 = "no-return-void"; declare const fullName$10: `${typeof ruleNameScope}/${typeof name$10}`; type Options$8 = [ { allowNull: boolean; allowUndefined: boolean; ignoreInferredTypes: boolean; } ]; declare const errorMessages$10: { readonly generic: "Function must return a value."; }; declare const rule$10: Rule; declare const name$11 = "no-this-expressions"; declare const fullName$11: `${typeof ruleNameScope}/${typeof name$11}`; type Options$9 = [ {} ]; declare const errorMessages$11: { readonly generic: "Unexpected this, use functions not classes."; }; declare const rule$11: Rule; declare const name$12 = "no-throw-statements"; declare const fullName$12: `${typeof ruleNameScope}/${typeof name$12}`; type Options$10 = [ { allowToRejectPromises: boolean; } ]; declare const errorMessages$12: { readonly generic: "Unexpected throw, throwing exceptions is not functional."; }; declare const rule$12: Rule; declare const name$13 = "no-try-statements"; declare const fullName$13: `${typeof ruleNameScope}/${typeof name$13}`; type Options$11 = [ { allowCatch: boolean; allowFinally: boolean; } ]; declare const errorMessages$13: { readonly catch: "Unexpected try-catch, this pattern is not functional."; readonly finally: "Unexpected try-finally, this pattern is not functional."; }; declare const rule$13: Rule; declare const name$14 = "prefer-immutable-types"; declare const fullName$14: `${typeof ruleNameScope}/${typeof name$14}`; export type RawEnforcement = Exclude | "None" | false | undefined; export type Option = IgnoreClassesOption & { enforcement: RawEnforcement; ignoreInferredTypes: boolean; ignoreNamePattern?: string[] | string; ignoreTypePattern?: string[] | string; }; type CoreOptions$2 = Option & { parameters?: Partial