import type { BarrelDescriptor } from '../lint-init.ts';
export interface RestrictedPath {
    message?: string;
    name: string;
}
export interface ResolvedRuleEntry {
    level: string;
    options?: unknown[];
}
export declare function isRestrictedImportsRuleEnabled(entry: ResolvedRuleEntry | undefined): boolean;
export declare function extractRestrictedPaths(entry: ResolvedRuleEntry | undefined): RestrictedPath[];
export declare function extractDisallowedNamesFromSource(source: string, configVarName: string): string[];
export declare function configuredNamesForDescriptor(restrictedPaths: RestrictedPath[], descriptor: BarrelDescriptor, source?: string): string[];
export declare function detectSharedEslintPackage(source: string): string | undefined;
export interface ResolvedRestrictedImports {
    configDir: string;
    eslintConfigPath: string;
    restrictedPaths: RestrictedPath[];
    ruleEnabled: boolean;
}
export declare function loadResolvedRestrictedImports(rootDir: string): Promise<ResolvedRestrictedImports | undefined>;
export declare function ensureBarrelForAnalysis(configDir: string, pkg: string, tempDirs: string[], isVerbose: boolean): string | undefined;
export declare function resolveLocalBarrelAnalysisDir(configDir: string, pkg: string): string | undefined;
export interface BarrelWorkspace {
    location: string;
    name: string;
}
/** True when `pkg` is a workspace package in this repo (the barrel source), not an installed dependency. */
export declare function isBarrelBuiltInRepo(rootDir: string, pkg: string, configDir: string, workspaces: BarrelWorkspace[]): boolean;
//# sourceMappingURL=restrictionHelpers.d.ts.map