import { Linter } from 'eslint'; import * as prettier from 'prettier'; type Dependencies = Record; type PackageJson = { version: string; dependencies?: Dependencies; devDependencies?: Dependencies; }; type Jsconfig = { compilerOptions?: { baseUrl?: string; paths?: Record; }; }; declare const servicePresetNames: { readonly base: "base"; readonly extend: "extend"; }; declare const publicPresetNames: { readonly imports: "imports"; readonly node: "node"; readonly prettier: "prettier"; readonly typescript: "typescript"; readonly react: "react"; readonly astro: "astro"; readonly vue: "vue"; readonly solidJs: "solid.js"; readonly effector: "effector"; readonly nextJs: "next.js"; readonly remix: "remix"; readonly svelte: "svelte"; }; type ServicePresetName = (typeof servicePresetNames)[keyof typeof servicePresetNames]; type PublicPresetName = (typeof publicPresetNames)[keyof typeof publicPresetNames]; type PresetName = ServicePresetName | PublicPresetName; type Meta = { root: string; allowDebug: boolean; readPackageJson(): PackageJson | null; readJsconfig(): Jsconfig | null; presets: Set; imports: { extensions: string[]; }; typescript: { root: string; tsconfig: string; enforceUsingType: boolean; }; }; type Input = { options?: T; meta: Meta; }; type Preset = { name: PresetName; options?: T; updateMeta(input: Input): void; compile(input: Input): Linter.Config; }; type Options$6 = { typescriptPackage: unknown; noTypeCheck: boolean; }; type Options$5 = { future?: boolean; }; type Options$4 = { version?: string | 'detect'; }; type Options$3 = { version?: string | 'detect'; oldJSXTransform?: boolean; }; type Options$2 = { root?: string; tsconfig?: string; enforceUsingType?: boolean; }; type Options$1 = { sort?: { newline?: boolean; groups?: string[][]; }; alias?: { root?: string; paths?: Record; jsconfig?: string; }; }; declare const presets: { imports: (options?: Options$1 | undefined) => Preset; node: (options?: void | undefined) => Preset; prettier: (options?: prettier.Config | undefined) => Preset; typescript: (options?: Options$2 | undefined) => Preset; react: (options?: Options$3 | undefined) => Preset; vue: (options?: Options$4 | undefined) => Preset; astro: (options?: void | undefined) => Preset; solidJs: (options?: void | undefined) => Preset; effector: (options?: Options$5 | undefined) => Preset; nextJs: (options?: void | undefined) => Preset; remix: (options?: void | undefined) => Preset; svelte: (options?: Options$6 | undefined) => Preset; }; type Mode = 'default' | 'only-errors' | 'only-warns' | 'disable-warns' | 'decrease-level'; declare const ESLintKitOptionsSymbol: unique symbol; type ExtendedLinterConfig = { [ESLintKitOptionsSymbol]: FinalOptions; } & Linter.Config; type Options = { extends?: string | ExtendedLinterConfig; root?: string; mode?: Mode; allowDebug?: boolean; presets?: Preset[]; extend?: Linter.Config; }; type FinalOptions = { extends?: Options['extends']; root: Required['root']; mode: Required['mode']; allowDebug?: boolean; presets: Required['presets']; extend: Required['extend']; }; declare function configure(options: Options): ExtendedLinterConfig; export { configure, presets };