import type { EnvelopeReturn, XyJsonDiagnostic } from '../lib/index.ts';
import type { RuleCheckDefinition } from './ruleRunner.ts';
export interface NodeLintOptions {
    shouldFix?: boolean;
    verbose?: boolean;
}
interface NodeLintContext {
    cwd: string;
    locations: string[];
    verbose: boolean;
}
interface PackageJson extends Record<string, unknown> {
    bin?: Record<string, string> | string;
    engines?: Record<string, string>;
    exports?: unknown;
    name?: string;
    private?: boolean;
    volta?: Record<string, string>;
}
export declare function isNodePackage(pkg: PackageJson): boolean;
export declare function checkVoltaNodeVersion(cwd: string, shouldFix: boolean): XyJsonDiagnostic[];
export declare function checkPackageEngines(cwd: string, location: string, shouldFix: boolean): XyJsonDiagnostic[];
export declare const NODE_LINT_RULES: RuleCheckDefinition<NodeLintContext>[];
export declare function nodeLint(options?: NodeLintOptions): Promise<EnvelopeReturn>;
export {};
//# sourceMappingURL=node-lint.d.ts.map