import type { JSON_ROOT } from "../ParseContext";
import type { BabelParserProjectOptions } from "./babelParserProjectOptions";
type ParsePerformanceOptions = {
    lightweightCompression?: boolean;
    scanConcurrency?: number;
};
type ParseProjectOptions = {
    targetLanguage: string;
    parsePerformance?: ParsePerformanceOptions;
    babelParser?: BabelParserProjectOptions;
    noJson?: {
        ignoreNames?: string[];
        ignoreSuffixes?: string[];
    };
    builtins?: {
        language?: string;
    };
    configFileName?: string;
};
type ParseProjectUserOptions = Pick<ParseProjectOptions, "targetLanguage">;
interface ProjectParser {
    readonly targetLanguage: string;
    parse(projectRoot: string, options?: ParseProjectOptions): Promise<JSON_ROOT>;
}
export type { ParsePerformanceOptions, ParseProjectOptions, ParseProjectUserOptions, ProjectParser };
export type { BabelParserProjectOptions } from "./babelParserProjectOptions";
