import { loadOptions } from '@babel/core';
import { ESLintUtils } from '@typescript-eslint/utils';
export interface BabelPluginModuleResolverOptions {
    alias?: Record<string, string>;
    cwd?: string;
    resolvePath?: (sourcePath: string, currentFile: string, options: Pick<BabelPluginModuleResolverOptions, 'alias' | 'cwd'>) => string | null;
}
interface AliasInfo {
    path: string;
    includePatterns: string[];
    configDir: string;
}
export interface Options {
    alias: Record<string, AliasInfo[]>;
    aliasForSubpaths: boolean;
    shouldReadTsConfig: boolean;
    shouldReadBabelConfig: boolean;
    resolvePath: (sourcePath: string, currentFile: string, options: Pick<BabelPluginModuleResolverOptions, 'alias' | 'cwd'>) => string | null;
}
type BabelOptions = Exclude<Parameters<typeof loadOptions>[0], undefined>;
export type OptionsInput = Omit<Partial<Options>, 'alias'> & {
    alias?: Record<string, string>;
    babelOptions?: BabelOptions;
};
declare const _default: ESLintUtils.RuleModule<"parentImport" | "subpathImport", [OptionsInput], unknown, ESLintUtils.RuleListener> & {
    name: string;
};
export default _default;
