import { BrowserIntlayerConfig, buildBrowserConfiguration, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, extractBrowserConfiguration } from "./buildBrowserConfiguration.js";
import { CustomIntlayerConfig, IntlayerConfig, LogFunctions } from "@intlayer/types/config";

//#region src/configFile/buildConfigurationFields.d.ts
/**
 * Build the complete Intlayer configuration by merging user-supplied values
 * with defaults.
 *
 * Internally this function:
 * 1. Calls {@link buildBrowserConfiguration} to produce the browser-safe
 *    subset (internationalization, routing, editor public fields, log, metadata).
 * 2. Extends the result with full server-side fields:
 *    - `internationalization` — adds `requiredLocales` and `strictMode`.
 *    - `editor` — adds `clientId` and `clientSecret`.
 *    - `log` — adds custom log functions.
 *    - `system`, `content`, `ai`, `build`, `compiler`, `dictionary`.
 *
 * @param customConfiguration - Optional user-supplied configuration object.
 * @param baseDir - Project root directory. Defaults to `process.cwd()`.
 * @param logFunctions - Optional custom logging functions.
 * @returns A fully-built {@link IntlayerConfig}.
 */
declare const buildConfigurationFields: (customConfiguration?: CustomIntlayerConfig, baseDir?: string, logFunctions?: LogFunctions) => IntlayerConfig;
//#endregion
export { type BrowserIntlayerConfig, buildBrowserConfiguration, buildConfigurationFields, buildEditorFields, buildInternationalizationFields, buildLogFields, buildRoutingFields, extractBrowserConfiguration };
//# sourceMappingURL=buildConfigurationFields.d.ts.map