declare module "packages/editor/src/engine/config/editorSettings" { export interface EditorSettings { minHeaders?: number; maxHeaders?: number; minFooters?: number; maxFooters?: number; minRows?: number; maxRows?: number; contentType?: 'page' | 'block'; autoSelectOnDrop: boolean; columns?: boolean; confirmOnDelete?: boolean; title?: string; } export function overrideEditorSettings(editorSettingsOverrides: EditorSettings): void; export function getEditorSettings(): EditorSettings; } declare module "libs/utils/src/pruneObj" { export function pruneObj>(obj: T, options?: { deep?: boolean; }): Partial; } declare module "packages/editor/src/editor/components/editors/types" { import type { IconDefinition } from '@fortawesome/pro-regular-svg-icons'; import { AppearanceConfig, Device, DisplayMode, Location, UndoRedoBehavior, Variant } from "packages/editor/src/state/types/types"; /** * Server-safe configuration for head CSS/JS generation. * Passed via HeadArguments to allow dependency injection. */ export interface HeadConfig { hasFeature?: (featureName: string) => boolean; getInitialValues?: (containerType: string) => Record; } export type LoadingState = 'not-loaded' | 'loading' | 'loaded' | 'error'; export type UpdatingState = 'updating' | undefined; export type DeletionState = 'deleting' | 'failed' | undefined; export interface EditorProps { value: Value | undefined; defaultValue: Value | undefined; updateValue: (newValue: Value | undefined, data?: object, options?: { deviceOverride?: Device; undoRedoBehavior?: UndoRedoBehavior; }) => void; name: string; /** @deprecated Use widgetParams instead */ data?: WidgetParams; disabled?: boolean; isLocked?: boolean; lockReason?: 'styleguide' | 'admin' | undefined; widgetParams?: WidgetParams; deviceName: Device; displayMode: DisplayMode; label?: string; location: Location; values: { [key: string]: unknown; containerPadding?: string; }; rootValues: { [key: string]: any; _override?: { [key: string]: any; }; }; appearance: AppearanceConfig; entitlements: { audit?: boolean; allowedDomains?: number; branding?: boolean; collaboration?: boolean; displayConditions?: boolean; customBlocks?: number; customCSS?: boolean; customFonts?: boolean; customJS?: boolean; customTools?: number; customTabs?: number; customThemes?: boolean; imageEditor?: boolean; selectImage?: boolean; stockImages?: boolean; userUploads?: boolean; uploadMaxSize?: number; }; item: { id: string; type?: string; slug?: string; location?: Location; values?: Record; }; project: object; onImageClick?: (url: string) => void; } export type HeadArguments = [ Record, Record, { rowIndex: number | undefined; rowCells: number[] | undefined; rowValues: Record | undefined; columnIndex: number | undefined; columnValues: Record | undefined; bodyValues: Record | undefined; displayMode: DisplayMode; embeddedValues: Record; isViewer: boolean; variant: Variant; type?: string; headConfig?: HeadConfig; } ]; export interface Head { css?: (...args: HeadArguments) => string | void; js?: (...args: HeadArguments) => string | void; tags?: (...args: HeadArguments) => string[] | void; } export type CollaborationFilter = 'only_yours' | 'resolved'; export interface CollaborationFilterDetails { label?: string; } export type CollaborationType = 'feedback' | 'idea' | 'question' | 'urgent'; export interface CollaborationTypeDetails { label?: string; icon: IconDefinition; color: string | undefined; } export type CollaborationThreadStatus = 'open' | 'resolved'; export interface CollaborationThread { id: number; projectId: string | number; designId: string; user: CollaborationUser; itemId: string; type: CollaborationType; status: CollaborationThreadStatus | null | undefined; commentCount: number; firstComment: CollaborationThreadComment; createdAt: string; updatedAt: string; } export interface CollaborationThreadComment { id: number; threadId: CollaborationThread['id']; user: CollaborationUser; text: string; createdAt: string; updatedAt: string; } export interface CollaborationUser { id: string; name: string | undefined; avatar: string | undefined; } export type DeepPartial = T extends object ? { [P in keyof T]?: DeepPartial; } : T; export type LanguageOverride = { [language: string]: { [propertyName: string]: string; }; }; export type LanguagesValue = { _languages?: LanguageOverride; }; } declare module "packages/editor/src/state/types/RootState" { import { StateType } from 'typesafe-actions'; import reducer from '../reducer'; export type RootState = StateType; } declare module "packages/editor/src/editor/themes/types" { import { AppearanceConfig } from "packages/editor/src/state/types/types"; import { DeepPartial } from "packages/editor/src/editor/components/editors/types"; export type ThemeName = 'classic_light' | 'classic_dark' | 'modern_light' | 'modern_dark'; export type ThemeNamePlusLightDark = ThemeName | 'light' | 'dark'; export type Theme = { name: ThemeName; isCustom?: boolean; isDark: boolean; isClassic?: boolean; mapping: { [key: string]: Record; borderRadius: Record; colors: Record; }; components: { textEditor: { toolbar: { backgroundColor: ColorValue; borderColor: ColorValue; separatorColor: ColorValue; button: { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; ':hover'?: { backgroundColor?: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; }; ':active'?: { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; }; }; }; }; actionBar?: (Partial & { compact?: boolean; defaultPlacement: NonNullable['placement']; }) | undefined; shimmerLoader: { fromColor: ColorValue; toColor: ColorValue; }; audit: { error: { backgroundColor: ColorValue; textColor: ColorValue; iconColor: ColorValue; borderColor: ColorValue; borderRadius: BorderRadiusValue; ':hover': { backgroundColor?: ColorValue; textColor?: ColorValue; iconColor?: ColorValue; borderColor?: ColorValue; }; }; }; bannerMessage: Record & { borderRadius: BorderRadiusValue; }; bar: { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; button: { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; disabledTextColor?: string; ':hover': { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; }; ':pressed': { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; }; ':selected': { backgroundColor?: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; }; ':highlighted': { backgroundColor?: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; }; ':destructive': { backgroundColor?: ColorValue; textColor?: ColorValue; }; }; dropdown: { item: { backgroundColor: ColorValue | undefined; textColor: ColorValue | undefined; ':selected'?: { textColor?: ColorValue; }; }; }; separator: { borderColor?: ColorValue; }; }; badge: { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; }; buttons: Record; ':pressed': Partial; ':disabled'?: Partial; }>; checkbox: { backgroundColor: ColorValue; borderColor: ColorValue; borderRadius: BorderRadiusValue; checkColor?: ColorValue; label: { textColor?: ColorValue; }; ':checked': { backgroundColor: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; checkColor?: ColorValue; label?: { textColor?: ColorValue; }; }; }; counter: { button?: Theme['components']['buttons']['secondary']; dropdown?: Partial; input?: Theme['components']['input']; }; dropdown: { button: { backgroundColor: ColorValue; borderColor: ColorValue; borderRadius: BorderRadiusValue; textColor: ColorValue; ':disabled'?: { backgroundColor?: ColorValue; borderColor?: ColorValue; textColor?: ColorValue; }; ':hover'?: { backgroundColor?: ColorValue; borderColor?: ColorValue; textColor?: ColorValue; }; ':open'?: { backgroundColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; textColor?: ColorValue; }; }; popover: { backgroundColor: ColorValue; borderColor: ColorValue; boxShadowColor?: ColorValue; borderRadius: BorderRadiusValue; textColor: ColorValue; }; item: { backgroundColor: ColorValue; textColor: ColorValue; ':disabled'?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; ':hover'?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; ':selected'?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; ':highlighted'?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; }; separator: { borderColor?: ColorValue; }; }; input: { backgroundColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; textColor?: ColorValue; placeholderColor?: ColorValue; label?: { textColor?: ColorValue; backgroundColor?: ColorValue; borderColor?: ColorValue; }; messages?: Record<'default' | 'info' | 'warning' | 'error' | 'success', { textColor: ColorValue; }>; ':hover'?: { backgroundColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; textColor?: ColorValue; placeholderColor?: ColorValue; }; ':active'?: { backgroundColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; textColor?: ColorValue; placeholderColor?: ColorValue; }; ':disabled'?: { backgroundColor?: ColorValue; borderColor?: ColorValue; textColor?: ColorValue; label?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; }; }; previewBar?: Partial | undefined; accordion: { syncedBlocks: { backgroundColor: ColorValue; borderRadius: BorderRadiusValue; header: { backgroundColor: ColorValue; textColor: ColorValue; buttonColor: ColorValue; ':hover': { backgroundColor: ColorValue; }; }; content: { backgroundColor: ColorValue; textColor: ColorValue; }; icon: { color: ColorValue; }; title: { color: ColorValue; }; subtext: { color: ColorValue; }; dialog: { backgroundColor: ColorValue; overlayColor: ColorValue; borderRadius: BorderRadiusValue; }; ':closed': { header: { backgroundColor: ColorValue; textColor: ColorValue; buttonColor: ColorValue; }; }; }; backgroundColor: ColorValue; borderColor: ColorValue; header: { backgroundColor?: ColorValue; textColor?: ColorValue; buttonColor?: ColorValue; rightLabel: { backgroundColor?: ColorValue; textColor?: ColorValue; }; ':hover'?: { backgroundColor?: ColorValue; }; }; content: { backgroundColor?: ColorValue; textColor?: ColorValue; }; ':closed': { borderColor?: ColorValue; header?: { backgroundColor?: ColorValue; textColor?: ColorValue; buttonColor?: ColorValue; }; }; ai?: { backgroundColor?: ColorValue; header?: { backgroundColor?: ColorValue; textColor?: ColorValue; aiIconColor?: ColorValue; ':hover'?: { backgroundColor?: ColorValue; }; }; content?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; ':closed'?: { borderColor?: ColorValue; header?: { backgroundColor?: ColorValue; textColor?: ColorValue; }; }; }; }; popover: { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; padding?: string; offset?: number; arrow?: { enabled?: boolean; }; }; radio: { backgroundColor: ColorValue; borderColor: ColorValue; thumbColor?: ColorValue; label: { textColor?: ColorValue; }; ':checked': { backgroundColor: ColorValue; borderColor?: ColorValue; thumbColor?: ColorValue; label?: { textColor?: ColorValue; }; }; }; segmentedControl: { borderRadius: BorderRadiusValue; item: { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; ':hover': { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; }; ':pressed': { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; }; ':selected': { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; }; }; }; tabs: { backgroundColor: ColorValue; borderRadius: BorderRadiusValue; tab: { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; borderRadius: BorderRadiusValue; ':hover': { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; }; ':pressed': { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; }; ':selected': { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; }; }; }; toast: Record & { borderRadius: BorderRadiusValue; }; toggle: { backgroundColor: ColorValue; textColor: ColorValue; thumbColor: ColorValue; ':checked': { backgroundColor: ColorValue; thumbColor: ColorValue; }; }; tooltip: { backgroundColor: ColorValue; textColor?: ColorValue; borderColor?: ColorValue; borderRadius?: BorderRadiusValue; padding?: string; offset?: number; arrow?: { enabled?: boolean; }; }; modal: { backgroundColor: ColorValue; borderColor: ColorValue; textColor?: ColorValue; }; datePicker: { border: ColorValue; day: { current_month: { textColor: ColorValue; ':selected': { textColor?: ColorValue; backgroundColor?: ColorValue; }; }; outside_month: { textColor: ColorValue; }; }; month: { backgroundColor: ColorValue; }; header: { backgroundColor: ColorValue; }; }; avatar: { backgroundColor: ColorValue; textColor: ColorValue; shadowColor: ColorValue; }; placeholder: { borderColor: ColorValue; color: ColorValue; backgroundColor: ColorValue; }; inboxPreview: { container: { borderColor: ColorValue; }; leftPanel: { deviceHeader: { backgroundColor: ColorValue; borderColor: ColorValue; }; preview: { backgroundColor: ColorValue; borderColor: ColorValue; }; zoomControls: { backgroundColor: string; boxShadowColor: string; button: { backgroundColor: ColorValue; borderColor: ColorValue; textColor: ColorValue; ':hover': { backgroundColor: ColorValue; }; ':active': { backgroundColor: ColorValue; }; }; }; loading: { spinnerBorder: ColorValue; spinnerAccent: ColorValue; textColor: ColorValue; }; deviceTitle: { textColor: string; }; navButton: { backgroundColor: string; color: ColorValue; ':hover': { backgroundColor: string; }; }; }; rightPanel: { title: { textColor: ColorValue; }; syncButton: { textColor: ColorValue; }; description: { textColor: ColorValue; }; message: { error: { textColor: ColorValue; }; }; errorPanel: { iconColor: ColorValue; circleBackground: ColorValue; circleBackgroundAlt: ColorValue; textColor: ColorValue; borderColor: ColorValue; button: { backgroundColor: ColorValue; textColor: ColorValue; }; }; gallery: { tabs: { backgroundColor: ColorValue; borderColor: ColorValue; textColor: ColorValue; ':active': { backgroundColor: ColorValue; borderColor: ColorValue; }; }; preview: { card: { backgroundColor: ColorValue; borderColor: ColorValue; ':selected': { borderColor: ColorValue; }; }; image: { ':selected': { opacity: string; }; }; info: { backgroundColor: ColorValue; }; title: { textColor: ColorValue; }; subtitle: { textColor: ColorValue; }; selectionIndicator: { dropShadow: string; }; icon: { default: ColorValue; selected: ColorValue; }; }; }; }; skeleton: { backgroundColor: string; }; }; devTab: { text: { color: ColorValue; }; container: { backgroundColor: ColorValue; separator: { borderColor: ColorValue; }; warning: { borderColor: ColorValue; }; }; taskItem: { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; ':hover': { backgroundColor: ColorValue; }; complete: { textColor: ColorValue; backgroundColor: ColorValue; borderColor: ColorValue; }; }; header: { title: { textColor: ColorValue; fontSize: string; backgroundColor?: ColorValue; }; subtitle: { textColor: ColorValue; }; }; description: { textColor: ColorValue; fontSize: string; }; versionInfo: { textColor: ColorValue; fontSize: string; }; link: { textColor: ColorValue; fontSize: string; ':hover': { textColor: ColorValue; }; }; icon: { color: ColorValue; help: { color: ColorValue; ':hover': { color: ColorValue; }; }; success: { color: ColorValue; }; warning: { color: ColorValue; }; error: { color: ColorValue; }; }; accordion: { button: { padding: string; borderColor: ColorValue; }; }; error: { backgroundColor: ColorValue; borderColor: ColorValue; textColor: ColorValue; }; login: { textColor: ColorValue; fontSize: string; ':hover': { textColor: ColorValue; }; }; reload: { textColor: ColorValue; fontSize: string; heading: { textColor: ColorValue; fontSize: string; }; description: { textColor: ColorValue; fontSize: string; }; button: { textColor: ColorValue; fontSize: string; ':hover': { textColor: ColorValue; }; }; }; success: { icon: { color: ColorValue; fontSize: string; }; title: { textColor: ColorValue; fontSize: string; }; description: { textColor: ColorValue; fontSize: string; }; }; }; }; }; export type ThemeVariant = 'primary' | 'secondary' | 'tertiary' /** Tertiary's inverse: where `tertiary` sits AT the page's tonal floor * (dark surface in dark mode, light surface in light mode), this one * sits AT the ceiling — a light surface with dark text in dark mode, * a dark surface with light text in light mode. Used for follow-up * chips (suggest_options pills) that need to read as distinct from * the surrounding chat bubble without shouting like `primary`. */ | 'tertiary_inverse' | 'ai' | 'ai_outline' | 'danger' | 'synced_blocks'; export type BannerMessageVariant = 'success' | 'warning' | 'default' | 'danger'; export type ToastVariant = 'success' | 'warning' | 'default' | 'danger'; export type ThemeColor = 'accent_01' | 'accent_02' | 'accent_03' | 'accent_04' | 'accent_05' | 'ai_01' | 'ai_02' | 'ai_03' | 'ai_04' | 'ai_05' | 'amp_01' | 'black_00' | 'black_01' | 'black_02' | 'black_03' | 'black_04' | 'black_05' | 'black_06' | 'black_07' | 'black_08' | 'black_09' | 'black_10' | 'destructive_01' | 'destructive_02' | 'destructive_03' | 'destructive_04' | 'destructive_05' | 'destructive_06' | 'destructive_07' | 'destructive_08' | 'destructive_09' | 'primary_01' | 'primary_02' | 'primary_03' | 'primary_04' | 'primary_05' | 'primary_06' | 'primary_07' | 'primary_08' | 'primary_09' | 'primary_10' | 'primary_11' | 'red_01' | 'success_01' | 'success_02' | 'success_03' | 'success_04' | 'success_05' | 'success_06' | 'success_07' | 'success_08' | 'success_09' | 'sync_01' | 'sync_02' | 'sync_03' | 'sync_04' | 'sync_05' | 'transparent' | 'warning_01' | 'warning_02' | 'warning_03' | 'warning_04' | 'warning_05' | 'warning_06' | 'warning_07' | 'warning_08' | 'warning_09' | 'white_00' | 'white_01' | 'white_02' | 'white_03' | 'white_04' | 'white_05' | 'white_06' | 'white_07' | 'white_08' | 'white_09'; export type ThemeExtension = { name: string; extends: ThemeName; isDark: boolean; isClassic?: boolean; mapping?: DeepPartial; components?: DeepPartial; }; export type BorderRadius = 'none' | 'min' | 'mid' | 'max' | 'full'; export type ButtonThemeObject = { backgroundColor: ColorValue; textColor: ColorValue; borderColor: ColorValue; borderRadius?: BorderRadiusValue; outlineColor?: ColorValue; }; export type BorderRadiusValue = `{${BorderRadius}}`; export type ColorValue = `{${ThemeColor}}` | `darken(${number}%, {${ThemeColor}})` | `fade(${number}%, {${ThemeColor}})` | `lighten(${number}%, {${ThemeColor}})`; export type DeprecatedTheme = { name: string; /** @deprecated */ preferences: { width: string; smWidth: string; padding: string; backgroundColor: string; borderColor: string; tabs: { width: string; smWidth?: string; backgroundColor: string; textColor: string; activeTextColor: string; activeBackgroundColor: string; activeBorderColor: string; hoverTextColor: string; hoverBackgroundColor: string; notificationBadgeBackgroundColor: string; notificationBadgeTextColor: string; }; tools: { width: string; height: string; smWidth: string; smHeight: string; backgroundColor: string; textColor: string; iconColor: string; borderSize: string; borderColor: string; hoverBorderColor: string; hoverShadowColor: string; draggingBorderColor: string; }; alerts: { notice: { backgroundColor: string; textColor: string; borderColor: string; }; }; properties: { header: { backgroundColor: string; fixedBackgroundColor: string; borderColor: string; title: { textColor: string; }; badge: { backgroundColor: string; textColor: string; }; icon: { color: string; borderColor: string; hoverBackgroundColor: string; hoverColor: string; destructiveHoverBackgroundColor: string; destructiveHoverColor: string; }; }; group: { header: { backgroundColor: string; textColor: string; iconColor: string; collapseIconColor: string; borderColor: string; ':closed': { backgroundColor: string; textColor: string; iconColor: string; collapseIconColor: string; borderColor: string; }; }; expandButton: { backgroundColor: string; textColor: string; hoverBackgroundColor: string; hoverTextColor: string; }; embedded: { borderColor: string; activeBorderColor: string; hoverBorderColor: string; textColor: string; activeTextColor: string; }; }; editor: { label: { default: { textColor: string; }; primary: { textColor: string; modified: { backgroundColor: string; textColor: string; ':hover': { backgroundColor: string; textColor: string; }; }; }; subheader: { textColor: string; }; secondary: { textColor: string; }; tertiary: { textColor: string; }; }; hint: { textColor: string; }; seperator: { color: string; }; columns: { backgroundColor: string; borderColor: string; boxShadowColor: string; textColor: string; ':hover': { backgroundColor: string; borderColor: string; }; ':selected': { backgroundColor: string; borderColor: string; }; }; button: { default: { backgroundColor: string; textColor: string; borderColor: string; iconColor?: string; hover: { backgroundColor?: string; textColor?: string; borderColor?: string; iconColor?: string; }; active: { backgroundColor?: string; textColor?: string; borderColor?: string; iconColor?: string; }; disabled: { backgroundColor?: string; }; }; primary: { backgroundColor: string; textColor: string; borderColor: string; hover: { backgroundColor?: string; textColor?: string; borderColor?: string; }; }; dashed: { textColor: string; borderColor: string; borderRadius: BorderRadiusValue; hover: { backgroundColor?: string; textColor?: string; borderColor?: string; }; }; secondary: { textColor: string; secondaryTextColor: string; backgroundColor: string; secondaryBackgroundColor: string; borderColor: string; secondaryBorderColor: string; }; }; input: { backgroundColor: string; textColor: string; borderColor: string; labelBackgroundColor: string; labelTextColor: string; labelBorderColor: string; errorBorderColor: string; errorShadowColor: string; placeholderTextColor: string; focus: { boxShadowColor?: string; }; disabled: { backgroundColor?: string; textColor?: string; borderColor?: string; }; }; displayCondition: { backgroundColor: string; borderColor: string; titleColor: string; textColor: string; }; card: { borderColor: string; }; dropdown: { primary: { menu: { backgroundColor: string; borderColor: string; }; item: { textColor: string; backgroundColor: string; focus: { textColor: string; backgroundColor: string; }; hover: { textColor: string; backgroundColor: string; }; active: { textColor: string; backgroundColor: string; hover: { textColor: string; backgroundColor: string; }; }; }; }; secondary: { menu: { backgroundColor: string; borderColor: string; hover: { color: string; backgroundColor: string; }; }; item: { textColor: string; backgroundColor: string; hover: { textColor: string; backgroundColor: string; }; active: { textColor: string; backgroundColor: string; hover: { textColor: string; backgroundColor: string; }; }; }; button: { textColor: string; backgroundColor: string; borderColor: string; active: { borderColor: string; }; }; icon: { active: { color: string; }; }; }; }; slider: { fillColor: string; emptyColor: string; handleColor: string; handleBorderColor: string; disabledColor: string; }; colorpicker: { backgroundColor: string; borderColor: string; boxShadowColor: string; circleBorderColor: string; checkLightIconColor: string; checkDarkIconColor: string; transparentCircleBackgroundColor: string; }; social: { textColor: ColorValue; backgroundColor: ColorValue; dotColor: ColorValue; }; }; card: { textColor: string; borderColor: string; backgroundColor: string; title: { textColor: string; }; active: { textColor: string; }; }; }; close: { backgroundColor: string; iconColor: string; borderColor: string; ':hover': { backgroundColor: string; iconColor: string; borderColor: string; }; }; branding: { height: string; backgroundColor: ColorValue; textColor: ColorValue; linkColor: ColorValue; iconColor: ColorValue; ':hover'?: { backgroundColor?: ColorValue; textColor?: ColorValue; linkColor?: ColorValue; iconColor?: ColorValue; }; }; }; /** @deprecated */ actions: { backgroundColor: string; foregroundColor: string; hoverForegroundColor: string; selectedForegroundColor: string; highlightBackgroundColor: string; highlightForegroundColor: string; separatorColor: string; borderColor: string; errorColor: string; }; /** @deprecated */ canvas: { backgroundColor: ColorValue; borderColor: string; backgroundCheckerColor: string; ':hover'?: { backgroundColor?: ColorValue; aiBackgroundColor?: ColorValue; }; }; /** @deprecated */ preview: { padding: string; paddingV?: string; paddingH?: string; backgroundColor: string; borderColor: string; titleColor: string; dropdownValueColor: string; dropdownBorderColor: string; inboxPreviewButtonColor: string; iconColor: string; iconSelectedColor: string; iconHoverColor: string; iconHoverBorderColor: string; previewModalBackground: string; buttonBackgroundSelected: string; buttonBackgroundDefault: string; buttonDefaultColor: string; buttonSelectedColor: string; buttonDefaultBorder: string; buttonHoverBorderColor: string; buttonSelectedBorder: string; buttonSecondaryBackground: string; buttonSuccessBackground: string; buttonLoadingBackground: string; buttonErrorBackground: string; buttonSecondaryColor: string; buttonSuccessColor: string; buttonErrorColor: string; buttonLoadingColor: string; deviceContainerBorderColor: string; deviceHeaderBackgroundColor: string; deviceBackgroundSelected: string; deviceBackgroundDefault: string; separatorColor: string; darkModeBackgroundColor: string; darkModeIconColor: string; lightModeBackgroundColor: string; lightModeIconColor: string; galleryBackgroundColor: string; galleryTabColor: string; }; /** @deprecated */ panel: { backgroundColor: string; textColor: string; mutedColor: string; input: { backgroundColor: string; placeholderTextColor: string; textColor: string; }; }; /** @deprecated */ list: { separatorColor: string; hoverBackgroundColor: string; }; /** @deprecated */ suggestions: { backgroundColor: string; borderColor: string; textColor: string; titleColor: string; subtitleColor: string; textCard: { backgroundColor: string; textColor: string; borderColor: string; boxShadowColor: string; number: { backgroundColor: string; textColor: string; borderColor: string; }; hover: { backgroundColor: string; textColor: string; borderColor: string; boxShadowColor: string; }; }; closeButton: { iconColor: string; hover: { iconColor: string; }; }; loader: { backgroundColor: string; content: { backgroundColor: string; headingColor: string; textColor: string; }; progressBar: { backgroundColor: string; }; }; }; }; } declare module "packages/editor/src/engine/constants" { import { collections, displayModes } from '@libs/schemas/constants/constants'; export { collections, displayModes }; export const HTMLInputTypeAttributes: readonly ["button", "checkbox", "color", "date", "datetime-local", "email", "file", "hidden", "image", "month", "number", "password", "radio", "range", "reset", "search", "submit", "tel", "text", "time", "url", "week"]; export const IS_LOCAL_DEVELOPMENT: boolean; export const IS_DEVELOPMENT_ENVIRONMENT: boolean; export const IS_CYPRESS: boolean; export const BROWSER: { IS_IE: boolean; IS_SAFARI: boolean; }; } declare module "packages/editor/src/engine/translations/__generated__/translation-types" { export type BuiltInLocale = 'ar' | 'ca' | 'cs' | 'da' | 'de' | 'en' | 'en-CA' | 'es' | 'et' | 'fa' | 'fi' | 'fr' | 'fr-CA' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'nl' | 'no' | 'pl' | 'pt-BR' | 'pt-PT' | 'ru' | 'sv' | 'tr' | 'uk' | 'vi-VN' | 'zh-CN' | 'zh-TW'; export type EditorTranslationKey = 'buttons.add_column' | 'buttons.add_content' | 'buttons.add_display_condition' | 'buttons.add_field' | 'buttons.add_footer' | 'buttons.add_header' | 'buttons.add_new_field' | 'buttons.add_new_item' | 'buttons.add_row' | 'buttons.add_text' | 'buttons.apply' | 'buttons.apply_effects' | 'buttons.back' | 'buttons.background' | 'buttons.cancel' | 'buttons.change' | 'buttons.change_image' | 'buttons.close' | 'buttons.comment' | 'buttons.corners' | 'buttons.crop' | 'buttons.delete' | 'buttons.deselect' | 'buttons.desktop' | 'buttons.disable_amp' | 'buttons.done' | 'buttons.draw' | 'buttons.drawing' | 'buttons.duplicate' | 'buttons.duplication_disabled_usage_limit' | 'buttons.edit' | 'buttons.edit_image' | 'buttons.edit_prompt' | 'buttons.enable_amp' | 'buttons.expand_text' | 'buttons.filter' | 'buttons.fix_spelling_grammar' | 'buttons.frame' | 'buttons.generate' | 'buttons.generate_images' | 'buttons.get_suggestions' | 'buttons.history' | 'buttons.make_it_formal' | 'buttons.make_it_friendly' | 'buttons.merge' | 'buttons.mobile' | 'buttons.more_options' | 'buttons.next' | 'buttons.open' | 'buttons.open_image_editor' | 'buttons.regenerate' | 'buttons.remove_column' | 'buttons.rephrase_text' | 'buttons.reset' | 'buttons.reset_value' | 'buttons.resize' | 'buttons.save' | 'buttons.see_magic' | 'buttons.select' | 'buttons.shape' | 'buttons.shapes' | 'buttons.show_fewer_options' | 'buttons.show_less' | 'buttons.show_more' | 'buttons.show_more_options' | 'buttons.sticker' | 'buttons.stickers' | 'buttons.summarize_text' | 'buttons.tablet' | 'buttons.transform' | 'buttons.try_again' | 'buttons.update_field' | 'buttons.upload' | 'buttons.upload_image' | 'buttons.use_image' | 'buttons.use_prompt' | 'buttons.use_this' | 'buttons.zoom' | 'collaboration.add_comment' | 'collaboration.collaboration_mode' | 'collaboration.empty.subtitle' | 'collaboration.empty.title' | 'collaboration.empty_filtered.subtitle' | 'collaboration.empty_filtered.title' | 'collaboration.exit_collaboration_mode' | 'collaboration.exit_mode' | 'collaboration.filters.all' | 'collaboration.filters.only_yours' | 'collaboration.filters.resolved' | 'collaboration.follow_docs_to_setup' | 'collaboration.leave_repply' | 'collaboration.login_to_collaborate' | 'collaboration.panel.threads' | 'collaboration.replies.n' | 'collaboration.replies.none' | 'collaboration.replies.one' | 'collaboration.resolve' | 'collaboration.resolved' | 'collaboration.types.feedback' | 'collaboration.types.idea' | 'collaboration.types.question' | 'collaboration.types.urgent' | 'colors.black' | 'colors.ruby' | 'colors.white' | 'content_tools.button' | 'content_tools.carousel' | 'content_tools.columns' | 'content_tools.divider' | 'content_tools.form' | 'content_tools.heading' | 'content_tools.html' | 'content_tools.image' | 'content_tools.menu' | 'content_tools.page_break' | 'content_tools.paragraph' | 'content_tools.social' | 'content_tools.table' | 'content_tools.text' | 'content_tools.timer' | 'content_tools.video' | 'dev_tab.info' | 'dev_tab.loading_project' | 'dev_tab.loading_project_info' | 'editor.accessibility_title.description' | 'editor.action_type.label' | 'editor.align.label' | 'editor.alignment.label' | 'editor.all_sides.label' | 'editor.alternate_text.label' | 'editor.anchor.section_already_exists' | 'editor.background_color.label' | 'editor.background_image.container_width' | 'editor.background_image.label' | 'editor.background_image.repeat' | 'editor.border.dashed' | 'editor.border.dotted' | 'editor.border.label' | 'editor.border.solid' | 'editor.bottom.label' | 'editor.bottom_center.label' | 'editor.bottom_left.label' | 'editor.bottom_right.label' | 'editor.button_link.label' | 'editor.center.label' | 'editor.center_left.label' | 'editor.center_right.label' | 'editor.color.brand_colors' | 'editor.color.common_colors' | 'editor.color.label' | 'editor.color.recent_colors' | 'editor.color.template_colors' | 'editor.colors.label' | 'editor.columns.label' | 'editor.columns_background.label' | 'editor.container_padding.label' | 'editor.content_alignment.label' | 'editor.content_background_color.label' | 'editor.content_width.label' | 'editor.deletable.label' | 'editor.desktop.description' | 'editor.digits_color.label' | 'editor.digits_font.label' | 'editor.digits_font_size.label' | 'editor.display_delay.label' | 'editor.do_not_stack_on_mobile.label' | 'editor.draggable.label' | 'editor.duplicable.label' | 'editor.end_time.label' | 'editor.fields.label' | 'editor.font_family.label' | 'editor.font_size.label' | 'editor.font_weight.100' | 'editor.font_weight.200' | 'editor.font_weight.300' | 'editor.font_weight.400' | 'editor.font_weight.500' | 'editor.font_weight.600' | 'editor.font_weight.700' | 'editor.font_weight.800' | 'editor.font_weight.900' | 'editor.font_weight.label' | 'editor.footer_enabled.label' | 'editor.form.custom' | 'editor.form.method' | 'editor.form_alignment.label' | 'editor.form_placeholder_alignment.label' | 'editor.form_width.label' | 'editor.full_width.label' | 'editor.header_enabled.label' | 'editor.heading_type.label' | 'editor.height.label' | 'editor.hide_on_desktop.label' | 'editor.hide_on_mobile.label' | 'editor.hide_on_tablet.label' | 'editor.hideable.label' | 'editor.horizontal_alignment.label' | 'editor.hover_background.label' | 'editor.hover_color.label' | 'editor.hover_text.label' | 'editor.hover_underline.label' | 'editor.html_title.label' | 'editor.icon_size.label' | 'editor.icon_spacing.label' | 'editor.icon_type.label' | 'editor.image.added_drawing' | 'editor.image.added_frame' | 'editor.image.added_overlay_image' | 'editor.image.added_shape' | 'editor.image.added_sticker' | 'editor.image.added_text' | 'editor.image.applied_crop' | 'editor.image.applied_filter' | 'editor.image.applied_resize' | 'editor.image.applied_rounded_corners' | 'editor.image.applied_transform' | 'editor.image.auto' | 'editor.image.auto_width' | 'editor.image.auto_width_switch_off' | 'editor.image.brush_color' | 'editor.image.brush_size' | 'editor.image.brush_type' | 'editor.image.canvas_background' | 'editor.image.changed_background' | 'editor.image.changed_background_image' | 'editor.image.changed_style' | 'editor.image.confirm_cancel_message' | 'editor.image.confirm_cancel_title' | 'editor.image.confirm_discard' | 'editor.image.confirm_keep_editing' | 'editor.image.drop_or_upload' | 'editor.image.drop_upload' | 'editor.image.full_width_mobile' | 'editor.image.image_options' | 'editor.image.image_url' | 'editor.image.initial' | 'editor.image.label' | 'editor.image.load_failed' | 'editor.image.loaded_state' | 'editor.image.main_image' | 'editor.image.maintain_aspect_ratio' | 'editor.image.objects_merged' | 'editor.image.offset_x' | 'editor.image.offset_y' | 'editor.image.outline_width' | 'editor.image.upload_error' | 'editor.image.upload_failed' | 'editor.image.uploading' | 'editor.image.use_percentages' | 'editor.image_link.label' | 'editor.image_size.label' | 'editor.inherit_body_styles.label' | 'editor.labels.insert_edit_link' | 'editor.labels.italic' | 'editor.labels.left_to_right' | 'editor.labels.missing_languages' | 'editor.labels.ordered_list' | 'editor.labels.remove_link' | 'editor.labels.right_to_left' | 'editor.labels.strikethrough' | 'editor.labels.subscript' | 'editor.labels.superscript' | 'editor.labels.try_it_now' | 'editor.labels.unordered_list' | 'editor.labels.web' | 'editor.labels_color.label' | 'editor.labels_font.label' | 'editor.labels_font_size.label' | 'editor.layout.label' | 'editor.left.label' | 'editor.letter_spacing.label' | 'editor.line.label' | 'editor.line_height.label' | 'editor.link.body' | 'editor.link.call_phone' | 'editor.link.close_popup' | 'editor.link.email' | 'editor.link.mailto' | 'editor.link.new_tab' | 'editor.link.no_page_sections_found' | 'editor.link.onclick_unsupported' | 'editor.link.open_website' | 'editor.link.page_section' | 'editor.link.phone' | 'editor.link.same_tab' | 'editor.link.selection_limit_exceeded' | 'editor.link.send_email' | 'editor.link.send_sms' | 'editor.link.subject' | 'editor.link.target' | 'editor.link.url' | 'editor.link_color.label' | 'editor.locked.label' | 'editor.magic_image.almost_there' | 'editor.magic_image.analyzing_your_prompt' | 'editor.magic_image.choose_style' | 'editor.magic_image.choose_style_description' | 'editor.magic_image.describe_image' | 'editor.magic_image.edit_prompt_placeholder' | 'editor.magic_image.edit_sample_prompt.black_and_white' | 'editor.magic_image.enable_ai.heading' | 'editor.magic_image.enable_ai.text' | 'editor.magic_image.first_experience.text' | 'editor.magic_image.first_experience.title' | 'editor.magic_image.generating_image' | 'editor.magic_image.generating_images' | 'editor.magic_image.generating_images_for' | 'editor.magic_image.modal_title' | 'editor.magic_image.no_suggestions' | 'editor.magic_image.prompt_placeholder' | 'editor.magic_image.prompt_score_good' | 'editor.magic_image.prompt_score_info' | 'editor.magic_image.prompt_score_not_good' | 'editor.magic_image.prompt_style_suffix' | 'editor.magic_image.sample_prompt.computer' | 'editor.magic_image.sample_prompt.david_sculpture' | 'editor.magic_image.sample_prompt.samoyed' | 'editor.magic_image.sample_prompt.van_gogh' | 'editor.magic_image.stock_list.text' | 'editor.magic_image.styles.3d_illustration' | 'editor.magic_image.styles.flat_art' | 'editor.magic_image.styles.geometric' | 'editor.magic_image.styles.lettering' | 'editor.magic_image.styles.minimalism' | 'editor.magic_image.styles.psychedelic' | 'editor.magic_image.styles.realism' | 'editor.magic_image.styles.retro_vintage' | 'editor.magic_image.styles.surrealism' | 'editor.magic_image.styles.vector' | 'editor.magic_image.suggested_prompts' | 'editor.magic_image.suggested_prompts_description' | 'editor.magic_image.text_prompt' | 'editor.magic_image.the_prompt' | 'editor.magic_image.uploading_your_image' | 'editor.magic_image.utilize_ai_created_images' | 'editor.margin.label' | 'editor.mobile.description' | 'editor.offline_mode_is_enabled' | 'editor.padding.label' | 'editor.placeholder.drop_it_here' | 'editor.placeholder.text' | 'editor.placeholder.text.left' | 'editor.placeholder.text.small' | 'editor.play_icon_color.label' | 'editor.play_icon_size.label' | 'editor.play_icon_type.label' | 'editor.position.label' | 'editor.power_paste.description' | 'editor.power_paste.keep_formatting' | 'editor.power_paste.remove_formatting' | 'editor.power_paste.title' | 'editor.predefined_style.label' | 'editor.preheader_text.description' | 'editor.preheader_text.label' | 'editor.right.label' | 'editor.rounded_border.label' | 'editor.rows.label' | 'editor.section_name.amp_disabled' | 'editor.section_name.description' | 'editor.section_name.label' | 'editor.select_image.label' | 'editor.selectable.label' | 'editor.separator.label' | 'editor.smart_buttons.enable_ai.heading' | 'editor.smart_buttons.enable_ai.text' | 'editor.smart_buttons.error.text' | 'editor.smart_buttons.first_experience.text' | 'editor.smart_buttons.first_experience.title' | 'editor.smart_headings.alternate_suggestions' | 'editor.smart_headings.enable_ai.text' | 'editor.smart_headings.error.min_words' | 'editor.smart_headings.error.text' | 'editor.smart_headings.error.title' | 'editor.smart_headings.first_experience.after' | 'editor.smart_headings.first_experience.before' | 'editor.smart_headings.first_experience.text' | 'editor.smart_headings.first_experience.title' | 'editor.smart_headings.heading_text' | 'editor.smart_headings.no_result' | 'editor.smart_headings.outdated_text' | 'editor.smart_headings.set_tone' | 'editor.smart_headings.type_few_words' | 'editor.smart_text.ai_enhance_text' | 'editor.smart_text.text_empty' | 'editor.social_links.label' | 'editor.space_between_fields.label' | 'editor.striped_rows.label' | 'editor.striped_rows_background_color.label' | 'editor.submit_action.label' | 'editor.sync_blocks.button' | 'editor.sync_blocks.content_in_sync.open_footer' | 'editor.sync_blocks.content_in_sync.open_header' | 'editor.sync_blocks.content_in_sync.open_row' | 'editor.sync_blocks.description' | 'editor.sync_blocks.label' | 'editor.sync_blocks.title' | 'editor.table_cell.select_to_edit' | 'editor.tablet.description' | 'editor.text.label' | 'editor.text_align.label' | 'editor.text_color.label' | 'editor.toolbar.collapse' | 'editor.toolbar.expand' | 'editor.top.label' | 'editor.top_center.label' | 'editor.top_left.label' | 'editor.top_right.label' | 'editor.underline.label' | 'editor.vertical_alignment.label' | 'editor.video.arrow_only' | 'editor.video.video_camera' | 'editor.video_url.description' | 'editor.video_url.label' | 'editor.width.label' | 'editors_panel.title.bodies' | 'editors_panel.title.contents' | 'editors_panel.title.footers' | 'editors_panel.title.headers' | 'editors_panel.title.magic_image' | 'editors_panel.title.rows' | 'editors_panel.title.sync_blocks' | 'emojis.categories.activities' | 'emojis.categories.all' | 'emojis.categories.animals_nature' | 'emojis.categories.flags' | 'emojis.categories.food_drink' | 'emojis.categories.objects' | 'emojis.categories.people_body' | 'emojis.categories.smileys_emotion' | 'emojis.categories.symbols' | 'emojis.categories.travel_places' | 'fields.birthday' | 'fields.company' | 'fields.name' | 'fields.phone_number' | 'fields.website' | 'fields.zip_code' | 'inbox_preview.design_updated' | 'labels.ai' | 'labels.ai.ai_assistant' | 'labels.ai.ai_assisted' | 'labels.ai.assistant.ai_is_not_enabled_for_this_tool' | 'labels.ai.assistant.ai_mode' | 'labels.ai.assistant.apply_changes_to' | 'labels.ai.assistant.cannot_edit_while_ai_is_generating' | 'labels.ai.assistant.credits_exhausted.open_billing_to_claim' | 'labels.ai.assistant.credits_exhausted.purchase_credit_pack' | 'labels.ai.assistant.credits_exhausted.title' | 'labels.ai.assistant.errors.api_quota_reached' | 'labels.ai.assistant.errors.custom_ai_key_invalid' | 'labels.ai.assistant.errors.external_resource_unavailable' | 'labels.ai.assistant.errors.input_schema_validation_failed' | 'labels.ai.assistant.errors.invalid_model' | 'labels.ai.assistant.errors.model_unavailable' | 'labels.ai.assistant.errors.no_changes_made_to_design' | 'labels.ai.assistant.errors.output_apply_failed' | 'labels.ai.assistant.errors.provider_auth_failed' | 'labels.ai.assistant.errors.request_too_large' | 'labels.ai.assistant.errors.service_unavailable' | 'labels.ai.assistant.errors.something_went_wrong' | 'labels.ai.assistant.errors.timeout_limit_exceeded' | 'labels.ai.assistant.errors.unsupported_request' | 'labels.ai.assistant.exit_ai_mode' | 'labels.ai.assistant.feature_description' | 'labels.ai.assistant.full_template' | 'labels.ai.assistant.hang_tight_generating_using_ai' | 'labels.ai.assistant.how_to_use' | 'labels.ai.assistant.loading.almost_there' | 'labels.ai.assistant.loading.analyzing_request' | 'labels.ai.assistant.loading.generating' | 'labels.ai.assistant.loading.retrying_with_backup_model' | 'labels.ai.assistant.loading.still_working' | 'labels.ai.assistant.loading.taking_longer' | 'labels.ai.assistant.loading.this_may_take_a_minute' | 'labels.ai.assistant.messages.analysis_and_planning' | 'labels.ai.assistant.messages.completed_with_backup_model' | 'labels.ai.assistant.messages.done_in_time' | 'labels.ai.assistant.messages.the_changes_have_been_applied' | 'labels.ai.assistant.messages.what_do_you_want_to_generate' | 'labels.ai.assistant.missing_schema_for_custom_tool' | 'labels.ai.assistant.new_chat' | 'labels.ai.assistant.new_messages' | 'labels.ai.assistant.prompt_placeholder' | 'labels.ai.assistant.prompt_placeholder__body' | 'labels.ai.assistant.prompt_placeholder__body_new' | 'labels.ai.assistant.prompt_placeholder__content_text' | 'labels.ai.assistant.prompt_placeholder__tools_panel' | 'labels.ai.assistant.prompt_title' | 'labels.ai.assistant.quick_actions' | 'labels.ai.assistant.scroll_to_bottom' | 'labels.ai.assistant.select_a_component_to_run_ai' | 'labels.ai.assistant.time.minutes_short' | 'labels.ai.assistant.time.seconds_short' | 'labels.ai.assistant.usage.ai_credits' | 'labels.ai.assistant.usage.cached_tokens' | 'labels.ai.assistant.usage.credits_balance_label' | 'labels.ai.assistant.usage.credits_balance_used' | 'labels.ai.assistant.usage.credits_explainer' | 'labels.ai.assistant.usage.credits_period' | 'labels.ai.assistant.usage.credits_remaining' | 'labels.ai.assistant.usage.credits_resets_on' | 'labels.ai.assistant.usage.credits_used' | 'labels.ai.assistant.usage.elapsed' | 'labels.ai.assistant.usage.estimated_cost' | 'labels.ai.assistant.usage.input_tokens' | 'labels.ai.assistant.usage.learn_about_credits' | 'labels.ai.assistant.usage.manage_credits' | 'labels.ai.assistant.usage.output_tokens' | 'labels.ai.assistant.usage.reasoning_tokens' | 'labels.ai.assistant.usage.total_tokens' | 'labels.ai.assistant.usage.turns' | 'labels.ai.assistant.wait_for_other_generation' | 'labels.ai.image.continue_generating_new_image' | 'labels.ai.image.edit_existing_image' | 'labels.ai.image.generate_new_image' | 'labels.align_text' | 'labels.alignment.bottom' | 'labels.alignment.center' | 'labels.alignment.flex_end' | 'labels.alignment.flex_start' | 'labels.alignment.justify' | 'labels.alignment.left' | 'labels.alignment.right' | 'labels.alignment.top' | 'labels.auto_off' | 'labels.auto_on' | 'labels.beta.feedback.buttons.send_feedback' | 'labels.beta.feedback.errors.failed_to_send_feedback' | 'labels.beta.feedback.footnote' | 'labels.beta.feedback.intro_text' | 'labels.beta.feedback.thank_you_for_your_feedback' | 'labels.beta.feedback.your_feedback_here' | 'labels.blocks.plan_limit.cta' | 'labels.blocks.plan_limit.message' | 'labels.blocks.plan_limit.title' | 'labels.blur' | 'labels.category' | 'labels.change_language' | 'labels.characters' | 'labels.clear_formatting' | 'labels.color_picker' | 'labels.comments' | 'labels.contain' | 'labels.content' | 'labels.copy' | 'labels.cover' | 'labels.credits.default_unit' | 'labels.credits.disabled' | 'labels.credits.exhausted' | 'labels.credits.exhausted_title' | 'labels.credits.invalid_configuration' | 'labels.credits.low_balance' | 'labels.credits.purchase_action' | 'labels.credits.purchase_failed' | 'labels.credits.unavailable_title' | 'labels.custom' | 'labels.cut' | 'labels.dark_mode' | 'labels.description' | 'labels.desktop_preview' | 'labels.device_override' | 'labels.disable_dark_mode' | 'labels.dismiss' | 'labels.display_conditions' | 'labels.dynamic_content_enabled' | 'labels.editor' | 'labels.enable_dark_mode' | 'labels.error' | 'labels.errors.failed_to_fetch_prompt_suggestions' | 'labels.errors.failed_to_generate_images' | 'labels.errors.rate_limit_exceeded' | 'labels.errors.something_went_wrong' | 'labels.font' | 'labels.footer' | 'labels.format_text' | 'labels.generate_ai' | 'labels.generated_images' | 'labels.generating' | 'labels.google_fonts' | 'labels.gradient' | 'labels.header' | 'labels.hide' | 'labels.horizontal' | 'labels.language' | 'labels.learn_more' | 'labels.light_mode' | 'labels.load_more' | 'labels.loading' | 'labels.loading_images' | 'labels.locked.message' | 'labels.locked_live_mode.message' | 'labels.menu.label' | 'labels.menu.links' | 'labels.merge_tags' | 'labels.mobile_preview' | 'labels.more_images' | 'labels.new' | 'labels.no_images' | 'labels.no_results' | 'labels.none' | 'labels.not_supported' | 'labels.objects' | 'labels.outline' | 'labels.page' | 'labels.paste' | 'labels.position' | 'labels.prompt' | 'labels.radius' | 'labels.recents' | 'labels.redo' | 'labels.refresh' | 'labels.refresh_results' | 'labels.resolution' | 'labels.safe_search' | 'labels.search' | 'labels.search_images' | 'labels.search_images_by_name' | 'labels.section' | 'labels.select_tone' | 'labels.shadow' | 'labels.show' | 'labels.size' | 'labels.size.unit.auto' | 'labels.smart_text' | 'labels.some_examples' | 'labels.special_links' | 'labels.stock_photos' | 'labels.stock_photos_by' | 'labels.stock_photos_license' | 'labels.stop' | 'labels.tags' | 'labels.text_prompt' | 'labels.text_style' | 'labels.texture' | 'labels.timezone' | 'labels.tip' | 'labels.tone' | 'labels.tools.custom.plan_limit.cta' | 'labels.tools.custom.plan_limit.description' | 'labels.tools.custom.plan_limit.title' | 'labels.undo' | 'labels.usage_limit.errors.credits_exhausted' | 'labels.usage_limit.errors.credits_exhausted_claimable' | 'labels.usage_limit.errors.credits_exhausted_claimable_billing' | 'labels.usage_limit.errors.credits_exhausted_claimable_billing_generic' | 'labels.usage_limit.errors.credits_exhausted_claimable_generic' | 'labels.usage_limit.errors.credits_exhausted_contact_owner' | 'labels.usage_limit.errors.credits_exhausted_contact_owner_generic' | 'labels.usage_limit.errors.credits_exhausted_generic' | 'labels.usage_limit.features.ai' | 'labels.usage_limit.features.asset_bandwidth' | 'labels.usage_limit.features.countdown_views' | 'labels.usage_limit.features.export' | 'labels.usage_limit.features.inbox_preview' | 'labels.vertical' | 'labels.words' | 'modals.category.invalid' | 'modals.category.placeholder' | 'modals.clipboard_warning.message' | 'modals.clipboard_warning.title' | 'modals.delete.columns' | 'modals.delete.confirmation' | 'modals.delete.title' | 'modals.display_conditions.title' | 'modals.preview.browser_preview.label' | 'modals.preview.exit_preview' | 'modals.preview.inbox_preview.button.generate_previews' | 'modals.preview.inbox_preview.label' | 'modals.preview.inbox_preview.label.email_preview' | 'modals.preview.inbox_preview.label.generating_again' | 'modals.preview.inbox_preview.label.generating_previews' | 'modals.preview.inbox_preview.label.next' | 'modals.preview.inbox_preview.label.previous' | 'modals.preview.inbox_preview.label.reset_zoom' | 'modals.preview.inbox_preview.label.zoom_in' | 'modals.preview.inbox_preview.label.zoom_out' | 'modals.preview.inbox_preview.text.email_clients' | 'modals.preview.inbox_preview.text.generate_previews' | 'modals.preview.inbox_preview.text.last_synced' | 'modals.preview.inbox_preview.text.not_synced_yet' | 'modals.preview.inbox_preview.text.sync' | 'modals.preview.inbox_preview.text.syncing' | 'modals.preview.inbox_preview.title' | 'modals.preview.inbox_preview.tooltip.title' | 'modals.preview.inbox_preview.try_again' | 'modals.preview.inbox_preview.unavailable' | 'modals.preview.send_test_email.email_not_sent' | 'modals.preview.send_test_email.email_sent' | 'modals.preview.send_test_email.label' | 'modals.preview.send_test_email.on_the_way' | 'modals.preview.send_test_email.sending' | 'modals.preview.send_test_email.unexpected' | 'modals.preview.title' | 'modals.save_block.title' | 'modals.tags.description' | 'modals.tags.placeholder' | 'option_groups.accessibility.title' | 'option_groups.action.title' | 'option_groups.active_cell.title' | 'option_groups.admin.title' | 'option_groups.ai_assistant.title' | 'option_groups.all.title' | 'option_groups.background.title' | 'option_groups.blank.title' | 'option_groups.button.title' | 'option_groups.button_options.title' | 'option_groups.colors.title' | 'option_groups.column_number.title' | 'option_groups.column_properties.title' | 'option_groups.columns.title' | 'option_groups.content.title' | 'option_groups.countdown.title' | 'option_groups.default.title' | 'option_groups.display_condition.title' | 'option_groups.email_settings.title' | 'option_groups.fields.title' | 'option_groups.form.title' | 'option_groups.html.title' | 'option_groups.icons.title' | 'option_groups.image.title' | 'option_groups.labels.title' | 'option_groups.last_saved.title' | 'option_groups.layout.title' | 'option_groups.line.title' | 'option_groups.link.title' | 'option_groups.links.title' | 'option_groups.magic_image.title' | 'option_groups.menu_items.title' | 'option_groups.mobile.title' | 'option_groups.responsive_design.title' | 'option_groups.row_properties.title' | 'option_groups.selected_cells.title' | 'option_groups.size.title' | 'option_groups.smart_buttons.title' | 'option_groups.smart_headings.title' | 'option_groups.spacing.title' | 'option_groups.style_guide.title' | 'option_groups.styles.title' | 'option_groups.text.title' | 'shapes.circle' | 'shapes.rectangle' | 'shapes.round' | 'shapes.square' | 'sizes.large' | 'sizes.largest' | 'sizes.medium' | 'sizes.small' | 'sizes.smallest' | 'sync_blocks.panel.restore.button' | 'sync_blocks.panel.unsync.button' | 'sync_blocks.panel.unsync.description' | 'sync_blocks.panel.unsync.title' | 'sync_blocks.panel.update_everywhere.button' | 'sync_blocks.panel.update_everywhere.description' | 'sync_blocks.panel.update_everywhere.title' | 'table.clipboard_to_copy' | 'table.clipboard_to_cut' | 'table.clipboard_to_paste' | 'table.clipboard_unavailable_subtitle' | 'table.clipboard_unavailable_title' | 'table.column' | 'table.delete_column' | 'table.delete_row' | 'table.insert_column_after' | 'table.insert_column_before' | 'table.insert_row_after' | 'table.insert_row_before' | 'table.row' | 'tabs.audit.empty.description' | 'tabs.audit.empty.subtitle' | 'tabs.audit.empty.title' | 'tabs.audit.missing_image_src' | 'tabs.audit.missing_title' | 'tabs.audit.missing_tool_name' | 'tabs.audit.rules.button.empty_links.description' | 'tabs.audit.rules.button.empty_links.title' | 'tabs.audit.rules.image.alt_text.description' | 'tabs.audit.rules.image.alt_text.title' | 'tabs.audit.rules.image.url.description' | 'tabs.audit.rules.image.url.title' | 'tabs.audit.rules.menu.empty_links.description' | 'tabs.audit.rules.menu.empty_links.title' | 'tabs.audit.take_me_to_fix' | 'tones.bold' | 'tones.friendly' | 'tones.luxury' | 'tones.professional' | 'tones.relaxed' | 'tones.witty' | 'tools.form.field_label' | 'tools.form.field_name' | 'tools.form.field_type' | 'tools.form.field_value' | 'tools.form.new_field' | 'tools.form.options_one_per_line' | 'tools.form.placeholder_text' | 'tools.form.required_field' | 'tools.form.show_label' | 'tools.form.update_field' | 'tools.social.click_icons_to_add' | 'tools.tabs.audit' | 'tools.tabs.blocks' | 'tools.tabs.body' | 'tools.tabs.content' | 'tools.tabs.images' | 'tools.tabs.row' | 'tools.tabs.uploads' | 'tools.text.personalize' | 'tools.tooltip.drag_on_canvas' | 'tools.tooltip.got_it'; } declare module "packages/image-editor/src/translations/__generated__/translation-types" { export type ImageEditorTranslationKey = 'image_editor.actions.reset' | 'image_editor.ai_assistant.aborted' | 'image_editor.ai_assistant.clarify_edit' | 'image_editor.ai_assistant.credits_exhausted.claimable_message' | 'image_editor.ai_assistant.credits_exhausted.contact_owner_message' | 'image_editor.ai_assistant.credits_exhausted.message' | 'image_editor.ai_assistant.credits_exhausted.open_billing_to_claim' | 'image_editor.ai_assistant.credits_exhausted.purchase_credit_pack' | 'image_editor.ai_assistant.done' | 'image_editor.ai_assistant.editing' | 'image_editor.ai_assistant.empty_state' | 'image_editor.ai_assistant.error' | 'image_editor.ai_assistant.nav_label' | 'image_editor.ai_assistant.placeholder' | 'image_editor.ai_assistant.progress.analyzing' | 'image_editor.ai_assistant.progress.applying' | 'image_editor.ai_assistant.progress.finalizing' | 'image_editor.ai_assistant.suggestions.black_white' | 'image_editor.ai_assistant.suggestions.blur_background' | 'image_editor.ai_assistant.suggestions.brightness' | 'image_editor.ai_assistant.suggestions.remove_background' | 'image_editor.ai_assistant.suggestions.remove_text' | 'image_editor.ai_assistant.suggestions.sharpen' | 'image_editor.ai_assistant.suggestions.vintage' | 'image_editor.ai_assistant.suggestions.warm_tone' | 'image_editor.ai_assistant.title' | 'image_editor.ai_assistant.try_more_specific' | 'image_editor.arrange.bring_forward' | 'image_editor.arrange.bring_to_front' | 'image_editor.arrange.send_backward' | 'image_editor.arrange.send_to_back' | 'image_editor.corners.radius' | 'image_editor.crop.aspect_free' | 'image_editor.crop.aspect_original' | 'image_editor.crop.aspect_ratio' | 'image_editor.crop.aspect_square' | 'image_editor.crop.rotate_flip' | 'image_editor.crop.straighten' | 'image_editor.draw.brush' | 'image_editor.draw.brush_circle' | 'image_editor.draw.brush_diamond' | 'image_editor.draw.brush_eraser' | 'image_editor.draw.brush_hline' | 'image_editor.draw.brush_pencil' | 'image_editor.draw.brush_spray' | 'image_editor.draw.brush_square' | 'image_editor.draw.brush_vline' | 'image_editor.draw.color' | 'image_editor.draw.custom_color' | 'image_editor.draw.size' | 'image_editor.draw.type' | 'image_editor.filters.adjust' | 'image_editor.filters.black_white' | 'image_editor.filters.blur' | 'image_editor.filters.brightness' | 'image_editor.filters.brownie' | 'image_editor.filters.contrast' | 'image_editor.filters.emboss' | 'image_editor.filters.gamma' | 'image_editor.filters.grayscale' | 'image_editor.filters.group.color' | 'image_editor.filters.group.effects' | 'image_editor.filters.group.light' | 'image_editor.filters.hue' | 'image_editor.filters.invert' | 'image_editor.filters.kodachrome' | 'image_editor.filters.noise' | 'image_editor.filters.none' | 'image_editor.filters.pixelate' | 'image_editor.filters.polaroid' | 'image_editor.filters.presets' | 'image_editor.filters.saturation' | 'image_editor.filters.sepia' | 'image_editor.filters.sharpen' | 'image_editor.filters.technicolor' | 'image_editor.filters.vibrance' | 'image_editor.filters.vintage' | 'image_editor.frame.adjust' | 'image_editor.frame.art1' | 'image_editor.frame.art2' | 'image_editor.frame.basic' | 'image_editor.frame.color' | 'image_editor.frame.ebony' | 'image_editor.frame.grunge1' | 'image_editor.frame.grunge2' | 'image_editor.frame.oak' | 'image_editor.frame.pine' | 'image_editor.frame.presets' | 'image_editor.frame.rainbow' | 'image_editor.frame.size' | 'image_editor.labels.drawing' | 'image_editor.labels.image' | 'image_editor.labels.shape' | 'image_editor.labels.sticker' | 'image_editor.labels.text' | 'image_editor.resize.height' | 'image_editor.resize.lock_aspect' | 'image_editor.resize.width' | 'image_editor.rotate.flip_horizontal' | 'image_editor.rotate.flip_vertical' | 'image_editor.rotate.rotate_left' | 'image_editor.rotate.rotate_right' | 'image_editor.shapes.arrow' | 'image_editor.shapes.circle' | 'image_editor.shapes.color' | 'image_editor.shapes.curved_arrow' | 'image_editor.shapes.decagon' | 'image_editor.shapes.delete' | 'image_editor.shapes.duplicate' | 'image_editor.shapes.ellipse' | 'image_editor.shapes.empty' | 'image_editor.shapes.fill' | 'image_editor.shapes.filled' | 'image_editor.shapes.gradient' | 'image_editor.shapes.less' | 'image_editor.shapes.line' | 'image_editor.shapes.more' | 'image_editor.shapes.opacity' | 'image_editor.shapes.outline' | 'image_editor.shapes.outline_width' | 'image_editor.shapes.rectangle' | 'image_editor.shapes.search' | 'image_editor.shapes.shadow' | 'image_editor.shapes.shadow_blur' | 'image_editor.shapes.shadow_offset_x' | 'image_editor.shapes.shadow_offset_y' | 'image_editor.shapes.shield' | 'image_editor.shapes.star' | 'image_editor.shapes.transparent' | 'image_editor.shapes.triangle' | 'image_editor.stickers.category.beach' | 'image_editor.stickers.category.bubbles' | 'image_editor.stickers.category.clouds' | 'image_editor.stickers.category.doodles' | 'image_editor.stickers.category.emoticons' | 'image_editor.stickers.category.landmarks' | 'image_editor.stickers.category.stars' | 'image_editor.stickers.category.transportation' | 'image_editor.stickers.empty' | 'image_editor.stickers.less' | 'image_editor.stickers.more' | 'image_editor.stickers.search' | 'image_editor.text.align' | 'image_editor.text.align_center' | 'image_editor.text.align_left' | 'image_editor.text.align_right' | 'image_editor.text.background' | 'image_editor.text.bold' | 'image_editor.text.default_text' | 'image_editor.text.font' | 'image_editor.text.group.basic' | 'image_editor.text.group.effects' | 'image_editor.text.group.handwriting' | 'image_editor.text.italic' | 'image_editor.text.less' | 'image_editor.text.more' | 'image_editor.text.new' | 'image_editor.text.preset.body' | 'image_editor.text.preset.bubbles' | 'image_editor.text.preset.heading' | 'image_editor.text.preset.highlight' | 'image_editor.text.preset.marker' | 'image_editor.text.preset.meme' | 'image_editor.text.preset.neon' | 'image_editor.text.preset.outline' | 'image_editor.text.preset.script' | 'image_editor.text.preset.shadow' | 'image_editor.text.preset.sketch' | 'image_editor.text.preset.subheading' | 'image_editor.text.preset.typewriter' | 'image_editor.text.size' | 'image_editor.text.strikethrough' | 'image_editor.text.style' | 'image_editor.text.underline' | 'image_editor.toolbar.cancel' | 'image_editor.toolbar.close' | 'image_editor.toolbar.fit_to_screen' | 'image_editor.toolbar.flatten' | 'image_editor.toolbar.hide_chat' | 'image_editor.toolbar.redo' | 'image_editor.toolbar.save' | 'image_editor.toolbar.show_chat' | 'image_editor.toolbar.undo' | 'image_editor.toolbar.zoom_in' | 'image_editor.toolbar.zoom_out' | 'image_editor.tools.corners' | 'image_editor.tools.crop' | 'image_editor.tools.draw' | 'image_editor.tools.filter' | 'image_editor.tools.frame' | 'image_editor.tools.resize' | 'image_editor.tools.shapes' | 'image_editor.tools.stickers' | 'image_editor.tools.text'; } declare module "packages/editor/src/engine/translations/types" { import type { BuiltInLocale, EditorTranslationKey } from "packages/editor/src/engine/translations/__generated__/translation-types"; import type { ImageEditorTranslationKey } from "packages/image-editor/src/translations/__generated__/translation-types"; export type StockLocale = BuiltInLocale; export type UnlayerLocale = BuiltInLocale | (string & {}); export type UnlayerTranslationKey = EditorTranslationKey | ImageEditorTranslationKey | (string & {}); export type UnlayerTranslations = Partial>>>; } declare module "packages/editor/src/engine/config/optionGroups" { export interface OptionGroup { label: string; options: OptionItem[]; } export type OptionItem = T | OptionGroup; export function isOptionGroup(item: OptionItem): item is OptionGroup; export function extractFlatOptions(items?: OptionItem[]): T[]; export function buildRootItems(groups: OptionGroup[]): OptionItem[]; export function getItemsAtPath(rootItems: OptionItem[], path: number[]): OptionItem[]; export function findPathToValue(items: OptionItem[], targetValue: string, getOptionValue: (item: T) => string, currentPath?: number[]): number[] | null; export function hasNestedValue(item: OptionItem, targetValue: string, getOptionValue: (item: T) => string): boolean; } declare module "packages/editor/src/state/types/types" { import * as Ariakit from '@ariakit/react'; import { MutableRefObject } from 'react'; import { z } from 'zod'; import type { AICopilotDataType } from '@libs/ai/types/types'; import { DisplayConditionZodSchema } from '@libs/schemas/common/schemas'; import type { BodyValues } from '@libs/schemas/options/containers/bodies'; import type { ColumnValues } from '@libs/schemas/options/containers/columns'; import type { ContentValues } from '@libs/schemas/options/containers/contents'; import type { RowValues } from '@libs/schemas/options/containers/rows'; import { CollaborationThread } from "packages/editor/src/editor/components/editors/types"; import { RootState } from "packages/editor/src/state/types/RootState"; import { ThemeExtension, ThemeNamePlusLightDark } from "packages/editor/src/editor/themes/types"; import { collections, displayModes } from "packages/editor/src/engine/constants"; import { UnlayerTranslations } from "packages/editor/src/engine/translations/types"; import { AppDispatch } from '../store'; export type { AICopilotDataType }; /** * Server-safe configuration for exporters. * Passed via meta to allow dependency injection instead of importing config directly. */ export interface ExporterConfig { toSafeHtml?: (text: string | undefined, options?: any) => string; textDirection?: string | undefined; generateHtmlFromTextJson?: (textJson: any) => string; cdnBaseUrl?: string; } export type DesignMode = 'live' | 'edit'; export type Device = 'desktop' | 'mobile' | 'tablet'; export type Resolution = { value: number; name: string; }; export type DisplayMode = ArrayItem; export type Variant = 'amp' | null; export type Ui = 'none' | 'visual' | 'classic'; export type UndoRedoBehavior = 'save' | 'replace' | 'skip'; export interface MergeTag { name: string; value?: string; sample?: string; icon?: string; mergeTags?: MergeTags; rules?: { [key: string]: { name: string; before: string; after: string; sample?: boolean | Array>; }; }; } export interface MergeTags { [name: string]: MergeTag; } export type MergeTagsValues = Record>>>; export interface MergeTagsConfig { autocompleteTriggerChar?: string | null; sort?: boolean; } export type DisplayCondition = z.infer; export type DisplayConditions = DisplayCondition[]; export type SpecialLink = { name: string; href: string; target?: string; specialLinks?: undefined; } | { name: string; href?: undefined; target?: undefined; specialLinks: SpecialLinks; }; export interface SpecialLinks { [name: string]: SpecialLink; } export type LinkTypeFieldOption = { value: string; label: string; enabled?: boolean; highlight?: boolean; onClick?: (_option: { label?: string; value: string; }, _meta: object, done: (result: { label?: string; value: string; }) => void) => void; } | { type: 'separator'; }; export interface LinkTypeField { name: string; label: string; defaultValue?: string | LinkTypeFieldOption[] | undefined; enabled?: boolean; placeholderText?: string; inputType?: Ariakit.FormInputProps['type']; isClearable?: boolean; isCreatable?: boolean; isMulti?: boolean; limit?: number; limitMessage?: string; validationRegex?: string; options?: LinkTypeFieldOption[]; sortOptions?: boolean | (