/** * Collapse a consumer config into the effective built-in UI profile. * * @param {Record} [config] Raw consumer config. * @returns {{ * enabled: boolean, * toolbar: { enabled: boolean, container: string | HTMLElement | null, options: Record }, * comments: { enabled: boolean, options: Record }, * contextMenu: { enabled: boolean, suppressed: boolean, options: Record }, * loading: { enabled: boolean }, * search: { enabled: boolean, options: Record }, * linkPopover: { enabled: boolean, suppressed: boolean, options: Record }, * ruler: { enabled: boolean, suppressed: boolean, container: string | HTMLElement | null }, * contentControls: { enabled: boolean, options: Record }, * }} */ export function normalizeUiConfig(config?: Record): { enabled: boolean; toolbar: { enabled: boolean; container: string | HTMLElement | null; options: Record; }; comments: { enabled: boolean; options: Record; }; contextMenu: { enabled: boolean; suppressed: boolean; options: Record; }; loading: { enabled: boolean; }; search: { enabled: boolean; options: Record; }; linkPopover: { enabled: boolean; suppressed: boolean; options: Record; }; ruler: { enabled: boolean; suppressed: boolean; container: string | HTMLElement | null; }; contentControls: { enabled: boolean; options: Record; }; }; /** Every built-in surface `ui: false` turns off. */ export const BUILT_IN_SURFACES: readonly string[]; /** Surfaces that render when the consumer says nothing at all. */ export const HISTORICAL_DEFAULTS: Readonly<{ toolbar: true; comments: true; contextMenu: true; loading: true; search: false; linkPopover: false; ruler: false; contentControls: true; }>;