@unlayer/types 1.417.0 → 1.419.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,8 +18,12 @@ import type { BodyValues } from '../containers/body';
18
18
  import type { ColumnValues } from '../containers/column';
19
19
  import type { RowValues } from '../containers/row';
20
20
 
21
+ type AICopilotDataType = 'template_block' | 'page_block' | 'body_block' | 'row_block' | 'header_block' | 'footer_block' | 'column_block' | 'content_block' | 'text' | 'import_html' | 'import_image';
22
+
21
23
  export type Container = 'body' | 'row' | 'column' | 'content';
22
24
 
25
+ export type ImageSource = 'unsplash' | 'pixabay' | 'pexel' | 'user';
26
+
23
27
  export interface ToolConfig {
24
28
  enabled?: boolean | undefined;
25
29
  icon?: string | undefined;
@@ -119,6 +123,9 @@ meta: {
119
123
  // Theme & Appearance
120
124
  // ───────────────────────────────────────────────────────────────────────────
121
125
 
126
+ type AIProvider = 'openai' | 'anthropic' | 'google' | 'xai';
127
+ /** Token usage payload reported by the AI Assistant pipeline. */
128
+
122
129
  interface Config {
123
130
  id?: string;
124
131
  className?: string;
@@ -1,8 +1,23 @@
1
1
  // Auto-generated by build-values-types.js. Do not edit manually.
2
2
 
3
+ import type { AIProvider, ImageSource } from './editor';
3
4
  import type { Language } from './intl';
4
5
  import type { Resolution } from './types';
5
6
 
7
+ export interface Image {
8
+ id: number | string;
9
+ location: string;
10
+ filename?: string;
11
+ contentType: string;
12
+ size: number;
13
+ width: number | null;
14
+ height: number | null;
15
+ source: ImageSource | null;
16
+ optimistic?: boolean;
17
+ }
18
+
19
+ export type AICopilotModel = `${AIProvider}/${string}` | (string & {});
20
+
6
21
  export interface TextEditorCustomButton {
7
22
  name: string;
8
23
  icon: string;
@@ -121,7 +136,60 @@ export interface Features {
121
136
  /** @deprecated Use assistant instead. */
122
137
  copilot?: boolean;
123
138
  models?: boolean;
139
+ /**
140
+ * Default AI model for the assistant. Accepts:
141
+ *
142
+ * - a `"<provider>/<modelId>"` pair (e.g. `"openai/gpt-5.5"`,
143
+ * `"anthropic/claude-opus-4-7"`) — pins both provider and model,
144
+ * unambiguous;
145
+ * - a bare model id (e.g. `"gpt-5.5"`);
146
+ * - a provider name (e.g. `"openai"`, `"anthropic"`) — locks the
147
+ * vendor and lets Unlayer pick that provider's default model.
148
+ *
149
+ * Forwarded to the v3 stream endpoint as the `model` body field.
150
+ * Overridden when the user picks a model from the picker
151
+ * (`models: true`). If unset, the server picks via its routing
152
+ * policy (classifier → fallback chain).
153
+ */
154
+ model?: AICopilotModel;
155
+ /**
156
+ * Disable full-template, page, and body generation in the AI
157
+ * Assistant when set to `false` — usually for cost or latency
158
+ * control. Per-row, per-content, and per-text edits stay
159
+ * available. Defaults to `true` (enabled) when the AI Assistant
160
+ * is enabled, and is also gated by the
161
+ * `aiAssistant.fullTemplateGeneration` server-side entitlement.
162
+ */
163
+ fullTemplateGeneration?: boolean;
124
164
  magicImage?: boolean;
165
+ /**
166
+ * AI image model used by Magic Image and the image-editor AI
167
+ * chat. Mirrors `model` above. Accepts:
168
+ *
169
+ * - a `"<provider>/<modelId>"` pair (e.g. `"openai/gpt-image-2"`);
170
+ * - a bare model id (e.g. `"gpt-image-2"`);
171
+ * - a provider name (e.g. `"openai"`, `"google"`) — locks the
172
+ * vendor and lets Unlayer pick that provider's default image
173
+ * model (keeps the concrete model id server-side).
174
+ *
175
+ * Unset → Google Gemini (the default), so existing embedders are
176
+ * unchanged. Set `model: 'openai'` (or `'openai/gpt-image-2'`) to
177
+ * route image generation and editing to OpenAI's gpt-image-2.
178
+ */
179
+ image?: {
180
+ /**
181
+ * Provider/model string — see the docblock above. Unset uses
182
+ * the Gemini default.
183
+ */
184
+ model?: string;
185
+ /**
186
+ * Quality tier, uniform across providers. Higher tiers cost
187
+ * more. Mapped internally per provider — OpenAI gpt-image-2 to
188
+ * its `quality` field, Gemini to image resolution
189
+ * (`low`→1K, `medium`→2K, `high`→4K). Defaults to `'medium'`.
190
+ */
191
+ quality?: 'low' | 'medium' | 'high';
192
+ };
125
193
  smartButtons?: boolean;
126
194
  smartHeadings?: boolean;
127
195
  smartImageAltText?: boolean;
@@ -21,6 +21,6 @@ export type Language = {
21
21
 
22
22
  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';
23
23
 
24
- 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.errors.input_schema_validation_failed' | 'labels.ai.assistant.errors.no_changes_made_to_design' | 'labels.ai.assistant.errors.service_unavailable' | 'labels.ai.assistant.errors.something_went_wrong' | 'labels.ai.assistant.errors.timeout_limit_exceeded' | '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.generating' | '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.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.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_title' | 'labels.ai.assistant.quick_actions' | 'labels.ai.assistant.select_a_component_to_run_ai' | '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.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.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.undo' | 'labels.usage_limit.errors.credits_exhausted' | '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';
24
+ 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.errors.api_quota_reached' | 'labels.ai.assistant.errors.input_schema_validation_failed' | 'labels.ai.assistant.errors.no_changes_made_to_design' | 'labels.ai.assistant.errors.service_unavailable' | 'labels.ai.assistant.errors.something_went_wrong' | 'labels.ai.assistant.errors.timeout_limit_exceeded' | '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.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.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_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.cached_tokens' | 'labels.ai.assistant.usage.elapsed' | 'labels.ai.assistant.usage.estimated_cost' | 'labels.ai.assistant.usage.input_tokens' | '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.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.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.undo' | 'labels.usage_limit.errors.credits_exhausted' | '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';
25
25
 
26
26
  export type ImageEditorTranslationKey = 'image_editor.actions.dismiss' | 'image_editor.actions.done' | 'image_editor.ai_assistant.aborted' | '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.filters.blur' | 'image_editor.filters.brightness' | 'image_editor.filters.color' | 'image_editor.filters.grayscale' | 'image_editor.filters.noise' | 'image_editor.filters.sharpen' | 'image_editor.labels.drawing' | 'image_editor.labels.image' | 'image_editor.labels.shape' | 'image_editor.labels.sticker' | 'image_editor.labels.text' | 'image_editor.toolbar.apply' | 'image_editor.toolbar.cancel' | 'image_editor.toolbar.fit_to_screen' | '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.merge' | 'image_editor.tools.resize' | 'image_editor.tools.shapes' | 'image_editor.tools.stickers' | 'image_editor.tools.text';
@@ -739,7 +739,14 @@ export type Theme = {
739
739
  };
740
740
  };
741
741
 
742
- export type ThemeVariant = 'primary' | 'secondary' | 'tertiary' | 'ai' | 'ai_outline' | 'danger' | 'synced_blocks';
742
+ export type ThemeVariant = 'primary' | 'secondary' | 'tertiary'
743
+ /** Tertiary's inverse: where `tertiary` sits AT the page's tonal floor
744
+ * (dark surface in dark mode, light surface in light mode), this one
745
+ * sits AT the ceiling — a light surface with dark text in dark mode,
746
+ * a dark surface with light text in light mode. Used for follow-up
747
+ * chips (suggest_options pills) that need to read as distinct from
748
+ * the surrounding chat bubble without shouting like `primary`. */
749
+ | 'tertiary_inverse' | 'ai' | 'ai_outline' | 'danger' | 'synced_blocks';
743
750
 
744
751
  export type BannerMessageVariant = 'success' | 'warning' | 'default' | 'danger';
745
752
 
@@ -1,6 +1,8 @@
1
1
  // Auto-generated by build-values-types.js. Do not edit manually.
2
2
 
3
3
  import type { JSONTemplate } from './design';
4
+ import type { AICopilotDataType, AIProvider } from './editor';
5
+ import type { Locale } from './intl';
4
6
  import type { MergeTags } from './merge-tags';
5
7
 
6
8
  export interface ExporterConfig {
@@ -30,6 +32,88 @@ export interface Location {
30
32
  id: number | string;
31
33
  }
32
34
 
35
+ type AICopilotCancelReason =
36
+ | 'stop_button'
37
+ | 'new_request'
38
+ | 'item_removed'
39
+ | 'timeout';
40
+
41
+ export interface AIAssistantUsage {
42
+ totalTokens?: number;
43
+ inputTokens?: number;
44
+ outputTokens?: number;
45
+ reasoningTokens?: number;
46
+ cachedInputTokens?: number;
47
+ }
48
+ /** Snapshot of a generation request. Same shape that drives the
49
+ * editor's own Redux dispatch — given to host callbacks so they can
50
+ * route, log, or take over. */
51
+
52
+ export interface AIAssistantRequestParams {
53
+ requestId: string;
54
+ location: Location;
55
+ prompt: string;
56
+ promptId: string | undefined;
57
+ promptFromId: string | undefined;
58
+ data: object | null;
59
+ dataType: AICopilotDataType;
60
+ toolType: string | undefined;
61
+ schemaVersion: number;
62
+ provider: AIProvider | undefined;
63
+ model: string | undefined;
64
+ }
65
+ /** Single internal stream event delivered to `ai:assistant:on:stream`.
66
+ * Discriminated by `type` — switch on it to handle each kind. Fires
67
+ * only when the editor owns generation (not when the host registered
68
+ * `ai:assistant:generate`, since the host has its own pipeline then). */
69
+
70
+ export type AIAssistantStreamEvent = {
71
+ type: 'start';
72
+ attempt: number;
73
+ messageId?: string;
74
+ provider?: string;
75
+ modelId?: string;
76
+ toolType?: string | null;
77
+ } | {
78
+ type: 'status';
79
+ text: string;
80
+ } | {
81
+ type: 'text-delta';
82
+ delta: string;
83
+ blockId?: string;
84
+ } | {
85
+ type: 'suggest-options';
86
+ options: Array<{
87
+ label: string;
88
+ prompt: string;
89
+ }>;
90
+ } | {
91
+ type: 'design-partial';
92
+ full: object;
93
+ } | {
94
+ type: 'design-operation';
95
+ op: Record<string, any>;
96
+ };
97
+ /** Result the host returns from `ai:assistant:generate` to deliver a
98
+ * final answer to the editor. */
99
+
100
+ export interface AIAssistantGenerateResult {
101
+ success?: boolean;
102
+ error?: string | {
103
+ name: string;
104
+ message: string;
105
+ statusCode?: number;
106
+ };
107
+ statusCode?: number;
108
+ data: object[];
109
+ provider: AIProvider | undefined;
110
+ model: string | undefined;
111
+ attempt?: number;
112
+ durationMs?: number;
113
+ locale?: string | null;
114
+ usage?: AIAssistantUsage;
115
+ }
116
+
33
117
  export interface CallbackContext {
34
118
  item: {
35
119
  type: string;
@@ -198,6 +282,57 @@ export interface CallbackTypeMap<TDisplayMode extends DisplayMode | undefined =
198
282
  'block:added': (data: Record<string, any>, done: (result: any) => void) => void;
199
283
  'block:modified': (data: Record<string, any>, done: (result: any) => void) => void;
200
284
  'block:removed': (data: Record<string, any>, done: (result: any) => void) => void;
285
+ /** Host owns generation. When registered, the editor delegates the AI
286
+ * call instead of hitting its default streaming endpoint; the host
287
+ * delivers a final result via `done`. Predates streaming — only one
288
+ * answer per turn. For streaming hosts, prefer endpoint configuration
289
+ * (a host-implemented SSE endpoint) once available. */
290
+ 'ai:assistant:generate': (requestParams: AIAssistantRequestParams, done: (result: AIAssistantGenerateResult) => void) => void;
291
+ /** Companion to `ai:assistant:generate`. Fires when the editor aborts
292
+ * the in-flight request so the host can stop its own work. */
293
+ 'ai:assistant:abort': (requestParams: AIAssistantRequestParams) => void;
294
+ /** Fires at turn start, before any model attempt. Always fires —
295
+ * including when the host owns generation. */
296
+ 'ai:assistant:on:request': (requestParams: AIAssistantRequestParams) => void;
297
+ /** Fires for every internal stream event from the editor's default
298
+ * pipeline. Does NOT fire when the host owns generation via
299
+ * `ai:assistant:generate` — the host has its own pipeline then. */
300
+ 'ai:assistant:on:stream': (event: AIAssistantStreamEvent) => void;
301
+ /** Turn completed successfully. Always fires. */
302
+ 'ai:assistant:on:success': (data: {
303
+ responseId?: string;
304
+ provider?: string;
305
+ modelId?: string;
306
+ /** 1 = primary model; >1 = fell back to a backup model. */
307
+ attempt?: number;
308
+ durationMs?: number;
309
+ /** Locale the AI detected from the user's last message. */
310
+ locale?: string | null;
311
+ toolType?: string;
312
+ usage?: AIAssistantUsage;
313
+ design: object | null;
314
+ }) => void;
315
+ /** Turn failed. Always fires (only fired path; cancellations get
316
+ * `ai:assistant:on:cancel` instead). */
317
+ 'ai:assistant:on:error': (data: {
318
+ name: string;
319
+ message: string;
320
+ statusCode?: number;
321
+ usage?: AIAssistantUsage;
322
+ provider?: string;
323
+ modelId?: string;
324
+ attempt?: number;
325
+ durationMs?: number;
326
+ locale?: string | null;
327
+ }) => void;
328
+ /** Turn cancelled by the user. Always fires. */
329
+ 'ai:assistant:on:cancel': (data: {
330
+ reason?: AICopilotCancelReason | null;
331
+ partialUsage?: AIAssistantUsage;
332
+ provider?: string;
333
+ modelId?: string;
334
+ attempt?: number;
335
+ }) => void;
201
336
  }
202
337
 
203
338
  export type ExporterName = "email" | "web" | "popup" | "document" | "classic" | "ampWeb" | "ampEmail";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unlayer/types",
3
- "version": "1.417.0",
3
+ "version": "1.419.0",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "types": "./dist/index.d.ts",