import { SansDependencies } from "../../../binding";
import { ESLintConfiguration } from "../../../input/findESLintConfiguration";
import { OriginalConfigurations } from "../../../input/findOriginalConfigurations";
import { TSLintConfiguration } from "../../../input/findTSLintConfiguration";
import { removeExtendsDuplicatedRules } from "../pruning/removeExtendsDuplicatedRules";
import { RuleConversionResults } from "../rules/convertRules";
import { checkPrettierExtension } from "./prettier/checkPrettierExtension";
import { retrieveExtendsValues } from "./retrieveExtendsValues";
import { SummarizedConfigResultsConfiguration } from "./types";
export type SummarizePackageRulesDependencies = {
    checkPrettierExtension: typeof checkPrettierExtension;
    removeExtendsDuplicatedRules: typeof removeExtendsDuplicatedRules;
    retrieveExtendsValues: SansDependencies<typeof retrieveExtendsValues>;
};
/**
 * Given an initial set of rule conversion results and original configurations,
 * determines which ESLint rulesets to extend from and removes redundant rule values.
 */
export declare const summarizePackageRules: (dependencies: SummarizePackageRulesDependencies, eslint: Pick<OriginalConfigurations<ESLintConfiguration>, "full"> | undefined, tslint: OriginalConfigurations<Pick<TSLintConfiguration, "extends">>, ruleConversionResults: RuleConversionResults, prettierRequested?: boolean) => Promise<SummarizedConfigResultsConfiguration>;
