import "@typescript-eslint/utils/eslint-utils";
import * as _typescript_eslint_utils_ts_eslint0 from "@typescript-eslint/utils/ts-eslint";
import { Linter } from "eslint";

//#region src/util.d.ts
interface PluginDocumentation {
  description: string;
  recommended?: boolean;
  requiresTypeChecking: boolean;
}
//#endregion
//#region src/index.d.ts
declare const plugin: {
  meta: {
    name: string;
    version: string;
  };
  rules: {
    "explicit-size-check": _typescript_eslint_utils_ts_eslint0.RuleModule<"suggestion" | "non-zero" | "zero", [object], PluginDocumentation, _typescript_eslint_utils_ts_eslint0.RuleListener>;
    "prefer-math-min-max": _typescript_eslint_utils_ts_eslint0.RuleModule<"prefer-math-min-max", unknown[], PluginDocumentation, _typescript_eslint_utils_ts_eslint0.RuleListener>;
  };
};
type RuleOptions = { [K in keyof RuleDefinitions]: RuleDefinitions[K]["defaultOptions"] };
type Rules = { [K in keyof RuleOptions]: Linter.RuleEntry<RuleOptions[K]> };
type RuleDefinitions = (typeof plugin)["rules"];
//#endregion
export { RuleOptions, Rules, plugin as default };