import type { Workspace } from '../pm/index.ts';
import { type ActionOutcome } from './result.ts';
export interface LintParams {
    analyze?: boolean;
    /** @default true when invoked via `xy lint` */
    cache?: boolean;
    cycleDepth?: number;
    fix?: boolean;
    incremental?: boolean;
    jobs: number;
    /** @default 'light' — non-type-checked lint for meta root packages */
    meta?: 'full' | 'light' | 'skip';
    pkg?: string;
    prev?: boolean;
    profile?: boolean;
    /** @default true */
    skipEmpty?: boolean;
    /** @default 'auto' */
    typeChecked?: boolean | 'auto';
    verbose?: boolean;
    workspaces?: Workspace[];
}
export interface LintPackageParams {
    pkg: string;
    verbose?: boolean;
}
export interface CycleParams {
    cache?: boolean;
    depth?: number;
    jobs: number;
    pkg?: string;
    profile?: boolean;
    verbose?: boolean;
}
export declare const lintPackage: ({ pkg, fix, verbose, }: {
    fix?: boolean;
    pkg: string;
    verbose?: boolean;
}) => number;
export declare const lint: ({ analyze, cache, cycleDepth, fix, incremental, jobs, meta, prev, pkg, profile, skipEmpty, typeChecked, verbose, workspaces, }: LintParams) => number | Promise<ActionOutcome>;
export declare const cycle: ({ cache, depth, jobs, pkg, profile, verbose, }: CycleParams) => number | Promise<ActionOutcome>;
export declare const lintAllPackages: ({ fix }?: {
    fix?: boolean;
}) => number;
//# sourceMappingURL=lint.d.ts.map