import { Linter } from 'eslint';

/**
 * Base ESLint Configuration Array
 *
 * Foundation configuration for all TypeScript packages in the monorepo.
 * Provides core linting rules with monorepo-specific enhancements.
 *
 * @type {Linter.Config[]}
 * @constant
 *
 * Configuration layers:
 * 1. ESLint recommended rules for JavaScript
 * 2. Prettier integration (disables conflicting rules)
 * 3. TypeScript ESLint recommended rules
 * 4. Turborepo plugin (monorepo best practices)
 * 5. Only-warn plugin (converts errors to warnings)
 * 6. Ignore patterns (excludes build output)
 *
 * @example
 * ```typescript
 * import { config as baseConfig } from '@stackra/eslint-config/base';
 *
 * export default [
 *   ...baseConfig,
 *   {
 *     // Add custom rules
 *   }
 * ];
 * ```
 */
declare const config$4: Linter.Config[];

/**
 * Vite ESLint Configuration Array
 *
 * Optimized linting setup for Vite-powered applications with React and TypeScript.
 * Includes browser environment and bundler-specific optimizations.
 *
 * @type {Linter.Config[]}
 * @constant
 *
 * Configuration layers:
 * 1. Base config (TypeScript, Prettier, Turbo)
 * 2. ESLint recommended rules
 * 3. Prettier integration
 * 4. TypeScript rules
 * 5. React config with browser globals
 * 6. React Hooks rules
 * 7. Vite-specific optimizations
 * 8. React auto-import disabled
 *
 * @example
 * ```typescript
 * import { config as viteConfig } from '@stackra/eslint-config/vite';
 *
 * export default [
 *   ...viteConfig,
 *   {
 *     rules: {
 *       // Vite app-specific overrides
 *     }
 *   }
 * ];
 * ```
 */
declare const config$3: Linter.Config[];

/**
 * React Internal ESLint Configuration Array
 *
 * Browser-focused linting for React component libraries.
 * Includes React, Hooks, and browser/service worker environment.
 *
 * @type {Linter.Config[]}
 * @constant
 *
 * Configuration layers:
 * 1. Base config (TypeScript, Prettier, Turbo)
 * 2. ESLint recommended rules
 * 3. Prettier integration
 * 4. TypeScript rules
 * 5. React recommended config
 * 6. Browser + Service Worker globals
 * 7. React Hooks rules
 * 8. React auto-import disabled
 *
 * @example
 * ```typescript
 * import { config as reactConfig } from '@stackra/eslint-config/react';
 *
 * export default [
 *   ...reactConfig,
 *   {
 *     rules: {
 *       // Component library overrides
 *     }
 *   }
 * ];
 * ```
 */
declare const config$2: Linter.Config[];

/**
 * Next.js ESLint Configuration Array
 *
 * Comprehensive linting setup for Next.js applications with React, TypeScript,
 * and Next.js-specific rules.
 *
 * @type {Linter.Config[]}
 * @constant
 *
 * Configuration layers:
 * 1. Base config (TypeScript, Prettier, Turbo)
 * 2. ESLint recommended rules
 * 3. Prettier integration
 * 4. TypeScript rules
 * 5. React config with service worker globals
 * 6. Next.js plugin (best practices + Core Web Vitals)
 * 7. React Hooks rules
 * 8. React auto-import disabled
 *
 * @example
 * ```typescript
 * import { nextJsConfig } from '@stackra/eslint-config/next';
 *
 * export default [
 *   ...nextJsConfig,
 *   {
 *     rules: {
 *       // Next.js app-specific overrides
 *     }
 *   }
 * ];
 * ```
 */
declare const config$1: Linter.Config[];

/**
 * NestJS ESLint Configuration Array
 *
 * ESLint configuration for NestJS applications and libraries.
 * Extends base config with Node.js environment settings.
 *
 * @type {Linter.Config[]}
 * @constant
 *
 * Configuration layers:
 * 1. Base config (TypeScript, Prettier, Turbo)
 * 2. ESLint recommended rules
 * 3. Prettier integration
 * 4. TypeScript rules with decorator support
 * 5. Node.js + ES2022 globals
 * 6. Ignore patterns (dist, coverage)
 *
 * @example
 * ```typescript
 * import { config as nestConfig } from '@stackra/eslint-config/nestjs';
 *
 * export default [
 *   ...nestConfig,
 *   {
 *     rules: {
 *       // NestJS-specific overrides
 *     }
 *   }
 * ];
 * ```
 */
declare const config: Linter.Config[];

export { config$4 as baseConfig, config as nestjsConfig, config$1 as nextJsConfig, config$2 as reactConfig, config$3 as viteConfig };
