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

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

```ts
// @public
export type AppConfig = {
  context: string;
  data: JsonObject;
  filteredKeys?: string[];
};

// @public
export type Config = {
  subscribe?(onChange: () => void): {
    unsubscribe: () => void;
  };
  has(key: string): boolean;
  keys(): string[];
  get<T = JsonValue>(key?: string): T;
  getOptional<T = JsonValue>(key?: string): T | undefined;
  getConfig(key: string): Config;
  getOptionalConfig(key: string): Config | undefined;
  getConfigArray(key: string): Config[];
  getOptionalConfigArray(key: string): Config[] | undefined;
  getNumber(key: string): number;
  getOptionalNumber(key: string): number | undefined;
  getBoolean(key: string): boolean;
  getOptionalBoolean(key: string): boolean | undefined;
  getString(key: string): string;
  getOptionalString(key: string): string | undefined;
  getStringArray(key: string): string[];
  getOptionalStringArray(key: string): string[] | undefined;
};

// @public
export class ConfigReader implements Config {
  constructor(
    data: JsonObject | undefined,
    context?: string,
    fallback?: ConfigReader | undefined,
    prefix?: string,
  );
  // (undocumented)
  static fromConfigs(configs: AppConfig[]): ConfigReader;
  // (undocumented)
  get<T = JsonValue>(key?: string): T;
  // (undocumented)
  getBoolean(key: string): boolean;
  // (undocumented)
  getConfig(key: string): ConfigReader;
  // (undocumented)
  getConfigArray(key: string): ConfigReader[];
  // (undocumented)
  getNumber(key: string): number;
  // (undocumented)
  getOptional<T = JsonValue>(key?: string): T | undefined;
  // (undocumented)
  getOptionalBoolean(key: string): boolean | undefined;
  // (undocumented)
  getOptionalConfig(key: string): ConfigReader | undefined;
  // (undocumented)
  getOptionalConfigArray(key: string): ConfigReader[] | undefined;
  // (undocumented)
  getOptionalNumber(key: string): number | undefined;
  // (undocumented)
  getOptionalString(key: string): string | undefined;
  // (undocumented)
  getOptionalStringArray(key: string): string[] | undefined;
  // (undocumented)
  getString(key: string): string;
  // (undocumented)
  getStringArray(key: string): string[];
  // (undocumented)
  has(key: string): boolean;
  // (undocumented)
  keys(): string[];
}

// @public
export interface JsonArray extends Array<JsonValue> {}

// @public
export type JsonObject = {
  [key in string]?: JsonValue;
};

// @public
export type JsonPrimitive = number | string | boolean | null;

// @public
export type JsonValue = JsonObject | JsonArray | JsonPrimitive;
```
