/**
 * One boolean toggle rendered in the platform settings modal app section.
 *
 * @beta
 */
export interface AssistantAppSettingsToggle {
    /** Stable id passed to {@link (AssistantAppSettingsProvider:interface).getValue} / `setValue`. */
    id: string;
    title: string;
    description: string;
    /** Optional `part` name for the toggle row (defaults to `app-toggle-${id}`). */
    part?: string;
    /** When provided and returns false, the toggle is hidden. */
    visible?: () => boolean;
    /** When provided and returns true, the switch is disabled. */
    disabled?: () => boolean;
    /** Optional footnote rendered below the row when the string is non-empty. */
    hint?: () => string | undefined;
}
/**
 * App-supplied settings for the platform settings modal UI Builder section.
 * Register a concrete implementation on the DI token at app bootstrap; the
 * assistant renders toggles with the same row layout as AI Chat Bot settings.
 *
 * @beta
 */
export interface AssistantAppSettingsProvider {
    /** Section heading. Default: `"UI Builder Settings"`. */
    readonly sectionTitle?: string;
    readonly toggles: readonly AssistantAppSettingsToggle[];
    getValue(id: string): boolean;
    setValue(id: string, value: boolean): void;
    /** Notify the assistant to re-read toggle values / visibility. */
    subscribe?(listener: () => void): () => void;
}
/**
 * The DI token for the {@link (AssistantAppSettingsProvider:interface)}. Resolves a noop
 * until the host registers one.
 *
 * @beta
 */
export declare const AssistantAppSettingsProvider: import("@microsoft/fast-foundation").InterfaceSymbol<AssistantAppSettingsProvider>;
//# sourceMappingURL=assistant-app-settings.d.ts.map