import type { RuleCheckDefinition } from './ruleRunner.ts';
interface RuleEntry {
    level: string;
    options?: unknown[];
}
interface LintlintParams {
    isVerbose?: boolean;
    shouldFix?: boolean;
}
interface RuleComparison {
    additions: {
        local: RuleEntry;
        rule: string;
    }[];
    overrides: {
        local: RuleEntry;
        rule: string;
        shared: RuleEntry;
    }[];
    redundant: {
        local: RuleEntry;
        rule: string;
        shared: RuleEntry;
    }[];
}
interface ConfigVariantMismatch {
    expectedPkg: string;
    hasReact: boolean;
}
interface LintlintContext {
    configDir: string;
    eslintConfigPath: string;
    hasGitignoreFile: boolean;
    isVerbose: boolean;
    mismatch?: ConfigVariantMismatch;
    results: RuleComparison;
    sharedPkg: string;
    source: string;
}
export declare function isLintInitBarrelRestriction(ruleName: string, local: RuleEntry): boolean;
export declare const LINTLINT_RULES: RuleCheckDefinition<LintlintContext>[];
export declare function lintlint({ shouldFix, isVerbose }?: LintlintParams): Promise<0 | 1 | import("./ruleRunner.ts").RuleRunResult>;
export {};
//# sourceMappingURL=lintlint.d.ts.map