import { type ViewTemplate } from '@genesislcap/web-core';
import type { FoundationAiAssistant } from '../../main/main';
/**
 * Tab identifiers for the modal tab bar.
 *
 * The values are deliberately NOT renamed to match the visible labels ("Configuration" and
 * "Usage"): they are the public API that hosts read and write via `settingsModalTab`, and are
 * matched by the `settings-modal-tab-*` shadow parts. Renaming a label is cosmetic; renaming
 * these would break consumers.
 */
export type SettingsModalTab = 'settings' | 'cost';
/**
 * The two usage meters in one shared, evenly-gapped column.
 *
 * Without it the context row and the FIRST budget row sit the section body's
 * 4 units apart while the budget rows sit 2 apart — three visually identical
 * meter rows reading as an uneven 4/2/2. The wrapper puts every meter row on
 * the same 2-unit rhythm; see `.settings-usage-meters` in the styles.
 *
 * CONDITIONAL on purpose. An always-present wrapper is a permanent flex child
 * of `.settings-modal-section-body`, so a host with neither meter would get a
 * stray 4-unit gap after its model slot from a div that renders nothing. The
 * gate is exactly the disjunction of the two children's own gates — both of
 * which are `when`, which emplaces only comment markers when false, so a
 * hidden meter contributes no flex child inside the wrapper either.
 *
 * Exported for `settings-modal.template.test.ts`, which renders it in isolation
 * to pin both of those properties; `index.ts` does not re-export it, so it is
 * not package API.
 *
 * @internal
 */
export declare const settingsUsageMetersTemplate: (progressTag: string) => ViewTemplate<FoundationAiAssistant>;
/**
 * Modal shell for assistant settings — Configuration and Usage tabs, section slots for
 * app-specific UI, and built-in chat-bot toggles.
 */
export declare const SettingsModalTemplate: (designSystemPrefix: string) => ViewTemplate<FoundationAiAssistant>;
//# sourceMappingURL=settings-modal.template.d.ts.map