/*! * Copyright (C) Microsoft Corporation. All rights reserved. */ import type { StoredAppSettings } from './V1/Schema.js'; /** * Catalog of all supported code-app settings. * * Adding a new setting: * 1. Add an entry to APP_SETTINGS_DEFINITIONS with both `name` (CLI flag) and `configKey` (JSON key). * 2. Add the configKey as an optional field on AppSettingsSchema in Config/V1/Schema.ts. * 3. Add/update the AppSettings type + resolveAppSettings defaults (and update tests/help as needed). * The CLI verbs (get-settings, set-setting) pick up catalog entries automatically. */ export interface AppSettingDefinition { /** Kebab-case name used as the CLI flag (e.g. --show-header) and for display output. */ name: string; /** CamelCase key used as the field name in power.config.json (e.g. showHeader). */ configKey: keyof AppSettings; type: 'boolean'; defaultValue: boolean; /** Short description shown in CLI help and as inline context. */ description: string; } export declare const APP_SETTINGS_DEFINITIONS: readonly AppSettingDefinition[]; /** * Fully-resolved app settings with every setting present and typed. * Derived from the Zod schema — `Required<>` reflects that `resolveAppSettings` guarantees * every field has a value (defaults fill in any missing stored values). */ export type AppSettings = Required>; /** * Merges stored (partial) settings with catalog defaults. * Returns a complete AppSettings object — every setting is guaranteed to have a value. */ export declare function resolveAppSettings(stored: Partial | undefined): AppSettings; /** * Converts a kebab-case setting name to the camelCase key used by Commander.js. * e.g. 'show-header' → 'showHeader' */ export declare function settingNameToOptionKey(name: string): string; //# sourceMappingURL=AppSettings.d.ts.map