import type { ESLint, Linter } from 'eslint'; import { APP_RULE_IDS, PLUGIN_KEY } from './rule-ids'; export { ESCAPE_MARKER, MIN_REASON, SETTINGS_KEY, isEscaped, type EstivaSettings } from './escape'; export { OWNED_BEHAVIOURS, type OwnedBehaviour } from './no-rebuilt-behaviour'; export { PART_LOOK_PROPS, PLACEMENT } from './no-restyled-part'; export { PARTS_WITH_A_TITLE } from './no-native-title'; export { MIN_COVER, MIN_SHARED } from './looks-of'; export { FIELD_PARTS } from './no-field-outside-a-form'; export { APP_RULE_IDS, PLUGIN_KEY }; declare const plugin: { meta: { name: string; version: string; }; rules: { 'raw-element-outside-a-wrapper': import("eslint").Rule.RuleModule; 'no-hand-rolled-behaviour': import("eslint").Rule.RuleModule; 'component-has-a-page': import("eslint").Rule.RuleModule; 'component-has-a-story': import("eslint").Rule.RuleModule; 'no-restyled-part': import("eslint").Rule.RuleModule; 'no-handmade-header': import("eslint").Rule.RuleModule; 'no-handmade-empty-state': import("eslint").Rule.RuleModule; 'no-native-title': import("eslint").Rule.RuleModule; 'no-copied-look': import("eslint").Rule.RuleModule; 'no-raw-element': import("eslint").Rule.RuleModule; 'no-rebuilt-behaviour': import("eslint").Rule.RuleModule; 'no-field-outside-a-form': import("eslint").Rule.RuleModule; }; configs: { recommended: Linter.Config; strict: Linter.Config; package: Linter.Config; }; }; /** The ids `package` carries — what this package's own gate runs and counts (UIG-5). */ export declare const PACKAGE_RULE_IDS: string[]; export default plugin; export interface GateRuleCount { errors: number; warnings: number; escapes: number; } export interface GateCount { /** Per rule id, including rules with nothing to report. */ rules: Record; /** * Reports of these rules that an `eslint-disable` directive silenced. Not * an escape: a gate fails on any of these (docs/GATES.md §16, S4). */ disabled: { filePath: string; line: number; ruleId: string; }[]; } /** * Count what a lint of these rules found, for `.gates-count.json` (seam S3). * * Run the lint with `settings: { estiva: { reportEscapes: true } }` for the * escapes to be counted; without it they are silent and count 0. A marker * with no reason, or inside a directive, counts as an error of its rule. * * `seed` is which rules the count lists when they found nothing, and it is the * app rules unless a caller says otherwise: an app's count file must not gain * rows for the inward rules (UIG-5) that its gate does not run. This package's * own count script passes `PACKAGE_RULE_IDS`. */ export declare function countGates(results: ESLint.LintResult[], seed?: readonly string[]): GateCount; //# sourceMappingURL=index.d.ts.map