## API Report File for "@backstage/config-loader"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
import { AppConfig } from '@backstage/config';
import { JsonObject } from '@backstage/config';
import { JSONSchema7 } from 'json-schema';

// @public
export type ConfigSchema = {
  process(
    appConfigs: AppConfig[],
    options?: ConfigSchemaProcessingOptions,
  ): AppConfig[];
  serialize(): JsonObject;
};

// @public
export type ConfigSchemaProcessingOptions = {
  visibility?: ConfigVisibility[];
  valueTransform?: TransformFunc<any>;
  withFilteredKeys?: boolean;
};

// @public
export type ConfigVisibility = 'frontend' | 'backend' | 'secret';

// @public (undocumented)
export type EnvFunc = (name: string) => Promise<string | undefined>;

// @public
export function loadConfig(options: LoadConfigOptions): Promise<AppConfig[]>;

// @public (undocumented)
export type LoadConfigOptions = {
  configRoot: string;
  configPaths: string[];
  env?: string;
  experimentalEnvFunc?: EnvFunc;
  watch?: {
    onChange: (configs: AppConfig[]) => void;
    stopSignal?: Promise<void>;
  };
};

// @public
export function loadConfigSchema(
  options: LoadConfigSchemaOptions,
): Promise<ConfigSchema>;

// @public (undocumented)
export type LoadConfigSchemaOptions =
  | {
      dependencies: string[];
      packagePaths?: string[];
    }
  | {
      serialized: JsonObject;
    };

// @public
export function mergeConfigSchemas(schemas: JSONSchema7[]): JSONSchema7;

// @public
export function readEnvConfig(env: {
  [name: string]: string | undefined;
}): AppConfig[];

// @public
export type TransformFunc<T extends number | string | boolean> = (
  value: T,
  context: {
    visibility: ConfigVisibility;
  },
) => T | undefined;
```
