import { CommandContext } from "../context.mjs";

//#region src/commands/lint.d.ts
interface Violation {
  tool: 'oxlint' | 'publint' | 'knip' | 'tsc';
  level: 'error' | 'warning' | 'suggestion';
  code: string;
  message: string;
  file?: string;
  line?: number;
  column?: number;
}
declare function runOxlint(targets: string[], fix?: boolean): Promise<Violation[]>;
/**
 * Mechanically fix knip-reported issues. Dependency hygiene (removing unused
 * deps from package.json) always runs with `--fix`; dead-code fixes (unused
 * exports/types) only run in `--strict` mode, matching the report tiers.
 * Unused files are never deleted automatically.
 */
declare function runKnipFix(strict?: boolean): Promise<void>;
/**
 * Knip dead-code issue kinds (unused exports/types/files) fire constantly
 * mid-implementation — an export is "unused" until its consumer exists.
 * They only carry signal as a commit-time gate, so they require `--strict`.
 * Dependency hygiene issues are stable and always reported.
 */
declare function runKnip(options?: {
  strict?: boolean;
}): Promise<Violation[]>;
/**
 * Print violations grouped by file. Errors are always shown in full.
 * Warnings collapse to a per-rule count unless `warnings` is set — they
 * don't affect the exit code, so a wall of them buries actual failures.
 */
declare function printViolations(violations: Violation[], options?: {
  warnings?: boolean;
}): void;
/** Machine-readable report for agents and CI. */
declare function printJson(violations: Violation[]): void;
declare function lint(ctx: CommandContext): Promise<void>;
//#endregion
export { lint, printJson, printViolations, runKnip, runKnipFix, runOxlint };
//# sourceMappingURL=lint.d.mts.map