import { SandBoxContextOptions } from "../loadExternalFile/parseFileContent.js";
import { LoadExternalFileOptions } from "../loadExternalFile/loadExternalFile.js";
import { CustomIntlayerConfig, IntlayerConfig, LogFunctions } from "@intlayer/types/config";

//#region src/configFile/getConfiguration.d.ts
type GetConfigurationOptions = {
  baseDir?: string;
  override?: CustomIntlayerConfig;
  env?: string;
  envFile?: string;
  logFunctions?: LogFunctions;
  require?: NodeJS.Require;
  cache?: boolean;
  buildOptions?: LoadExternalFileOptions['buildOptions'];
} & Omit<SandBoxContextOptions, 'projectRequire'>;
type GetConfigurationAndFilePathResult = {
  configuration: IntlayerConfig;
  customConfiguration: CustomIntlayerConfig | undefined;
  numCustomConfiguration: number;
  configurationFilePath: string | undefined;
};
/**
 * Get the configuration for the intlayer by reading the configuration file (e.g. intlayer.config.js)
 */
declare const getConfigurationAndFilePath: (options?: GetConfigurationOptions) => GetConfigurationAndFilePathResult;
/**
 * Get the configuration for the intlayer by reading the configuration file (e.g. intlayer.config.js)
 */
declare const getConfiguration: (options?: GetConfigurationOptions) => IntlayerConfig;
//#endregion
export { GetConfigurationAndFilePathResult, GetConfigurationOptions, getConfiguration, getConfigurationAndFilePath };
//# sourceMappingURL=getConfiguration.d.ts.map