unlayer-types 1.416.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.
Files changed (2) hide show
  1. package/embed.d.ts +333 -20
  2. package/package.json +1 -1
package/embed.d.ts CHANGED
@@ -879,7 +879,14 @@ declare module "packages/editor/src/editor/themes/types" {
879
879
  };
880
880
  };
881
881
  };
882
- export type ThemeVariant = 'primary' | 'secondary' | 'tertiary' | 'ai' | 'ai_outline' | 'danger' | 'synced_blocks';
882
+ export type ThemeVariant = 'primary' | 'secondary' | 'tertiary'
883
+ /** Tertiary's inverse: where `tertiary` sits AT the page's tonal floor
884
+ * (dark surface in dark mode, light surface in light mode), this one
885
+ * sits AT the ceiling — a light surface with dark text in dark mode,
886
+ * a dark surface with light text in light mode. Used for follow-up
887
+ * chips (suggest_options pills) that need to read as distinct from
888
+ * the surrounding chat bubble without shouting like `primary`. */
889
+ | 'tertiary_inverse' | 'ai' | 'ai_outline' | 'danger' | 'synced_blocks';
883
890
  export type BannerMessageVariant = 'success' | 'warning' | 'default' | 'danger';
884
891
  export type ToastVariant = 'success' | 'warning' | 'default' | 'danger';
885
892
  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';
@@ -1383,7 +1390,7 @@ declare module "packages/editor/src/engine/constants" {
1383
1390
  }
1384
1391
  declare module "packages/editor/src/engine/translations/__generated__/translation-types" {
1385
1392
  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';
1386
- 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';
1393
+ 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';
1387
1394
  }
1388
1395
  declare module "packages/image-editor/src/translations/__generated__/translation-types" {
1389
1396
  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';
@@ -1563,6 +1570,127 @@ declare module "packages/editor/src/state/types/types" {
1563
1570
  collection: Collection;
1564
1571
  id: number | string;
1565
1572
  }
1573
+ export type AICopilotChatErrorInfo = {
1574
+ name: string;
1575
+ message: string;
1576
+ statusCode?: number;
1577
+ requestedAt?: number;
1578
+ failureAt?: number;
1579
+ code?: string;
1580
+ limitKey?: string;
1581
+ };
1582
+ /**
1583
+ * Message content is stored as an ordered array of parts, mirroring the
1584
+ * UIMessage shape from AI SDK. One message can carry multiple text parts
1585
+ * (useful for Phase 2 when the model emits a plan then a summary on the
1586
+ * same turn) plus an ephemeral status part that the streaming reducer
1587
+ * updates in place.
1588
+ */
1589
+ export type AICopilotChatMessagePart = {
1590
+ type: 'text';
1591
+ /** English fallback / verbatim model text. `textKey` drives render for
1592
+ * Phase-1 synthesized parts; model-generated parts have textKey
1593
+ * unset and `text` already in the user's locale. */
1594
+ text: string;
1595
+ textKey?: string;
1596
+ /** Text block id from the model stream. When streaming, deltas
1597
+ * with the same blockId accumulate onto this same part; a new
1598
+ * blockId creates a new text part (used to split plan vs summary
1599
+ * around an update_design tool call into separate bubbles). */
1600
+ blockId?: string;
1601
+ /** Wall-clock timestamp of the first delta for this text block.
1602
+ * On success, becomes the createdAt of the promoted assistant
1603
+ * message so plan and summary bubbles show the real times they
1604
+ * arrived rather than the loading bubble's start time. */
1605
+ createdAt?: number;
1606
+ } | {
1607
+ /** Ephemeral live status text during streaming — replaces the old
1608
+ * `liveText` field. Reducer updates the status part in place via
1609
+ * updateAICopilotStream. */
1610
+ type: 'status';
1611
+ text: string;
1612
+ } | {
1613
+ type: 'error';
1614
+ errorInfo: AICopilotChatErrorInfo;
1615
+ } | {
1616
+ /** Rendered as a quick-actions button group under the bubble. */
1617
+ type: 'embed';
1618
+ embedType: 'quick_actions';
1619
+ } | {
1620
+ /** Model-offered clickable choices (from the `suggest_options`
1621
+ * tool). Rendered as pill buttons under the bubble; tapping a
1622
+ * pill sends that option's `prompt` back as the next user message.
1623
+ * Emitted once per assistant turn — if the model calls the tool
1624
+ * again, the reducer replaces the previous list. */
1625
+ type: 'options';
1626
+ options: Array<{
1627
+ label: string;
1628
+ prompt: string;
1629
+ }>;
1630
+ };
1631
+ export interface AICopilotChatMessage {
1632
+ id: string;
1633
+ type: 'received' | 'sent';
1634
+ /** 'completed' — a finished-work indicator showing elapsed time;
1635
+ * the loading bubble morphs into this on success instead of being
1636
+ * removed, so the transcript retains "Done (1m 20s)" context. */
1637
+ subtype?: 'loading' | 'completed' | 'warning' | 'error' | 'success';
1638
+ parts: AICopilotChatMessagePart[];
1639
+ /** Tooltip for the status icon on error/warning/success bubbles. */
1640
+ iconTooltip?: string;
1641
+ createdAt: number;
1642
+ /** For subtype:'completed' — when the work actually ended. The
1643
+ * component derives the elapsed time from `completedAt - createdAt`. */
1644
+ completedAt?: number;
1645
+ /** Ordered list of `report_status` narration messages the model sent
1646
+ * during the turn, each stamped with the wall-clock time it arrived.
1647
+ * Rendered as an expandable list inside the Done chip; the UI derives
1648
+ * a per-step duration ("Analyzing request (7s)") from the gap to the
1649
+ * next step (or to completedAt for the final one). */
1650
+ reportedSteps?: Array<{
1651
+ text: string;
1652
+ at: number;
1653
+ }>;
1654
+ /** Wall-clock time of the first `update_design` op observed in the
1655
+ * turn that produced this message. Used by the renderer as the
1656
+ * anchor where the Done chip slots into the chronological sequence
1657
+ * of events: text parts whose `createdAt` is earlier than this
1658
+ * timestamp render above the chip, parts created after render
1659
+ * below — same DOM position the live status indicator held during
1660
+ * streaming. Unset when the turn never called `update_design`. */
1661
+ firstDesignOpAt?: number;
1662
+ /** Locale the AI detected from the user's last message (BCP-47),
1663
+ * surfaced via the wire's `data-complete` frame. Used by the Done
1664
+ * chip to localize client-injected synthetic steps (e.g.
1665
+ * "Analyzing prompt") so they match the language of the
1666
+ * model-emitted `report_status` strings rather than the editor UI
1667
+ * locale, which can diverge when the user types in a different
1668
+ * language than their UI. */
1669
+ detectedLocale?: string;
1670
+ /** Per-turn token usage + model info, attached to the first
1671
+ * assistant message of the turn (the plan bubble, or the sole
1672
+ * reply if there's no plan). Rendered inside the bubble-timestamp
1673
+ * tooltip so users can inspect elapsed time + tokens without
1674
+ * crowding the UI. */
1675
+ turnUsage?: {
1676
+ inputTokens?: number;
1677
+ outputTokens?: number;
1678
+ totalTokens?: number;
1679
+ reasoningTokens?: number;
1680
+ cachedInputTokens?: number;
1681
+ /** Estimated raw provider cost in micro-USD ($1 = 1_000_000). Only
1682
+ * sent by the server in local dev + QA (gated; never in production),
1683
+ * so the usage popover can show "$" alongside tokens. */
1684
+ estimatedCostMicroUsd?: number;
1685
+ provider?: string;
1686
+ modelId?: string;
1687
+ elapsedMs?: number;
1688
+ };
1689
+ /** Flags a sent user bubble whose turn was cancelled before it
1690
+ * completed. Rendered with a strikethrough + muted style and extra
1691
+ * spacing to separate it from the next turn. */
1692
+ cancelled?: boolean;
1693
+ }
1566
1694
  export interface Selection {
1567
1695
  active: boolean;
1568
1696
  location: Location | null;
@@ -1863,7 +1991,23 @@ declare module "packages/editor/src/state/types/types" {
1863
1991
  };
1864
1992
  }
1865
1993
  declare module "packages/editor/src/engine/config/features" {
1994
+ import type { AIProvider } from '@libs/ai/types/types';
1866
1995
  import { Resolution, Language } from "packages/editor/src/state/types/types";
1996
+ /**
1997
+ * Model identifier for the AI copilot.
1998
+ *
1999
+ * Accepts either:
2000
+ * - a bare model id (e.g. `"gpt-5.5"`, `"claude-opus-4-7"`), where the
2001
+ * server infers the provider from the id, or
2002
+ * - a `"<provider>/<modelId>"` pair (e.g. `"openai/gpt-5.5"`,
2003
+ * `"anthropic/claude-opus-4-7"`) — preferred when the model id is
2004
+ * ambiguous across providers.
2005
+ *
2006
+ * Typed as a template literal union so editors autocomplete the known
2007
+ * provider prefixes while still permitting arbitrary model strings via
2008
+ * the trailing `(string & {})`.
2009
+ */
2010
+ export type AICopilotModel = `${AIProvider}/${string}` | (string & {});
1867
2011
  export interface TextEditorCustomButton {
1868
2012
  name: string;
1869
2013
  icon: string;
@@ -1978,7 +2122,60 @@ declare module "packages/editor/src/engine/config/features" {
1978
2122
  /** @deprecated Use assistant instead. */
1979
2123
  copilot?: boolean;
1980
2124
  models?: boolean;
2125
+ /**
2126
+ * Default AI model for the assistant. Accepts:
2127
+ *
2128
+ * - a `"<provider>/<modelId>"` pair (e.g. `"openai/gpt-5.5"`,
2129
+ * `"anthropic/claude-opus-4-7"`) — pins both provider and model,
2130
+ * unambiguous;
2131
+ * - a bare model id (e.g. `"gpt-5.5"`);
2132
+ * - a provider name (e.g. `"openai"`, `"anthropic"`) — locks the
2133
+ * vendor and lets Unlayer pick that provider's default model.
2134
+ *
2135
+ * Forwarded to the v3 stream endpoint as the `model` body field.
2136
+ * Overridden when the user picks a model from the picker
2137
+ * (`models: true`). If unset, the server picks via its routing
2138
+ * policy (classifier → fallback chain).
2139
+ */
2140
+ model?: AICopilotModel;
2141
+ /**
2142
+ * Disable full-template, page, and body generation in the AI
2143
+ * Assistant when set to `false` — usually for cost or latency
2144
+ * control. Per-row, per-content, and per-text edits stay
2145
+ * available. Defaults to `true` (enabled) when the AI Assistant
2146
+ * is enabled, and is also gated by the
2147
+ * `aiAssistant.fullTemplateGeneration` server-side entitlement.
2148
+ */
2149
+ fullTemplateGeneration?: boolean;
1981
2150
  magicImage?: boolean;
2151
+ /**
2152
+ * AI image model used by Magic Image and the image-editor AI
2153
+ * chat. Mirrors `model` above. Accepts:
2154
+ *
2155
+ * - a `"<provider>/<modelId>"` pair (e.g. `"openai/gpt-image-2"`);
2156
+ * - a bare model id (e.g. `"gpt-image-2"`);
2157
+ * - a provider name (e.g. `"openai"`, `"google"`) — locks the
2158
+ * vendor and lets Unlayer pick that provider's default image
2159
+ * model (keeps the concrete model id server-side).
2160
+ *
2161
+ * Unset → Google Gemini (the default), so existing embedders are
2162
+ * unchanged. Set `model: 'openai'` (or `'openai/gpt-image-2'`) to
2163
+ * route image generation and editing to OpenAI's gpt-image-2.
2164
+ */
2165
+ image?: {
2166
+ /**
2167
+ * Provider/model string — see the docblock above. Unset uses
2168
+ * the Gemini default.
2169
+ */
2170
+ model?: string;
2171
+ /**
2172
+ * Quality tier, uniform across providers. Higher tiers cost
2173
+ * more. Mapped internally per provider — OpenAI gpt-image-2 to
2174
+ * its `quality` field, Gemini to image resolution
2175
+ * (`low`→1K, `medium`→2K, `high`→4K). Defaults to `'medium'`.
2176
+ */
2177
+ quality?: 'low' | 'medium' | 'high';
2178
+ };
1982
2179
  smartButtons?: boolean;
1983
2180
  smartHeadings?: boolean;
1984
2181
  smartImageAltText?: boolean;
@@ -1988,8 +2185,8 @@ declare module "packages/editor/src/engine/config/features" {
1988
2185
  sendTestEmail?: boolean;
1989
2186
  syncedBlocks?: boolean;
1990
2187
  }
1991
- export const betaFeaturesPaths: readonly ["ai.assistant"];
1992
- export const betaEntitlements: readonly ["aiAssistant"];
2188
+ export const betaFeaturesPaths: readonly [];
2189
+ export const betaEntitlements: readonly [];
1993
2190
  export const getBetaFeatures: () => "assistant"[];
1994
2191
  export function isOnLatestVersion(): boolean;
1995
2192
  export function setFeatures(newFeatures: Features): void;
@@ -2086,17 +2283,8 @@ declare module "packages/editor/src/engine/config/safeHtml" {
2086
2283
  export function enableSafeHtml(): void;
2087
2284
  export function disableSafeHtml(): void;
2088
2285
  export function setSafeHtmlOptions(options?: SafeHtmlOptions): void;
2089
- function _toSafeHtmlInternal(html: string, { allowOnClick, force }?: {
2090
- allowOnClick?: boolean;
2091
- force?: boolean;
2092
- }): string;
2093
- export const toSafeHtmlInternal: typeof _toSafeHtmlInternal & import("lodash").MemoizedFunction;
2094
- function _toSafeHtml(html: string | undefined, { allowOnClick, force, domPurifyOptions, }?: {
2095
- allowOnClick?: boolean;
2096
- force?: boolean;
2097
- domPurifyOptions?: SafeHtmlOptions['domPurifyOptions'];
2098
- }): TrustedHTML;
2099
- export const toSafeHtml: typeof _toSafeHtml & import("lodash").MemoizedFunction;
2286
+ export const toSafeHtmlInternal: any;
2287
+ export const toSafeHtml: any;
2100
2288
  }
2101
2289
  declare module "packages/editor/src/engine/config/intl" {
2102
2290
  import { UnlayerLocale } from "packages/editor/src/engine/translations/types";
@@ -2667,8 +2855,8 @@ declare module "packages/editor/src/engine/config/tools" {
2667
2855
  export function hasAISchemas(tool: ToolConfig, { displayMode }?: {
2668
2856
  displayMode?: DisplayMode;
2669
2857
  }): boolean;
2670
- export function getAllTools(): any[];
2671
- export function getTools(collection?: Collection): any[];
2858
+ export function getAllTools(): any;
2859
+ export function getTools(collection?: Collection): any;
2672
2860
  export function getCustomToolsCount(): number;
2673
2861
  export function getToolsCSS(category: string, items: ToolConfig[]): string;
2674
2862
  export function excludeTools(types: string[]): void;
@@ -2809,9 +2997,9 @@ declare module "packages/editor/src/engine/config/tools" {
2809
2997
  displayMode: DisplayMode;
2810
2998
  entitlements: Entitlements;
2811
2999
  }): {
2812
- availableTools: any[];
3000
+ availableTools: any;
2813
3001
  availableToolsWithDefaultRow: any[];
2814
- classicTools: any[];
3002
+ classicTools: any;
2815
3003
  };
2816
3004
  }
2817
3005
  declare module "packages/editor/src/engine/config/tabs" {
@@ -3006,7 +3194,81 @@ declare module "packages/editor/src/embed/helpers" {
3006
3194
  export function convertReturnFunctionToDoneCallback<Fn extends (...args: [any]) => any>(fn: Fn): (info: Parameters<Fn>[0], done: Function) => void;
3007
3195
  }
3008
3196
  declare module "packages/editor/src/state/types/callbacks" {
3009
- import type { DisplayMode, JSONTemplate, MergeTags } from "packages/editor/src/state/types/types";
3197
+ import type { AICopilotCancelReason, AIProvider } from '@libs/ai/types/types';
3198
+ import type { AICopilotDataType, DisplayMode, JSONTemplate, Location, MergeTags } from "packages/editor/src/state/types/types";
3199
+ /** Token usage payload reported by the AI Assistant pipeline. */
3200
+ export interface AIAssistantUsage {
3201
+ totalTokens?: number;
3202
+ inputTokens?: number;
3203
+ outputTokens?: number;
3204
+ reasoningTokens?: number;
3205
+ cachedInputTokens?: number;
3206
+ }
3207
+ /** Snapshot of a generation request. Same shape that drives the
3208
+ * editor's own Redux dispatch — given to host callbacks so they can
3209
+ * route, log, or take over. */
3210
+ export interface AIAssistantRequestParams {
3211
+ requestId: string;
3212
+ location: Location;
3213
+ prompt: string;
3214
+ promptId: string | undefined;
3215
+ promptFromId: string | undefined;
3216
+ data: object | null;
3217
+ dataType: AICopilotDataType;
3218
+ toolType: string | undefined;
3219
+ schemaVersion: number;
3220
+ provider: AIProvider | undefined;
3221
+ model: string | undefined;
3222
+ }
3223
+ /** Single internal stream event delivered to `ai:assistant:on:stream`.
3224
+ * Discriminated by `type` — switch on it to handle each kind. Fires
3225
+ * only when the editor owns generation (not when the host registered
3226
+ * `ai:assistant:generate`, since the host has its own pipeline then). */
3227
+ export type AIAssistantStreamEvent = {
3228
+ type: 'start';
3229
+ attempt: number;
3230
+ messageId?: string;
3231
+ provider?: string;
3232
+ modelId?: string;
3233
+ toolType?: string | null;
3234
+ } | {
3235
+ type: 'status';
3236
+ text: string;
3237
+ } | {
3238
+ type: 'text-delta';
3239
+ delta: string;
3240
+ blockId?: string;
3241
+ } | {
3242
+ type: 'suggest-options';
3243
+ options: Array<{
3244
+ label: string;
3245
+ prompt: string;
3246
+ }>;
3247
+ } | {
3248
+ type: 'design-partial';
3249
+ full: object;
3250
+ } | {
3251
+ type: 'design-operation';
3252
+ op: Record<string, any>;
3253
+ };
3254
+ /** Result the host returns from `ai:assistant:generate` to deliver a
3255
+ * final answer to the editor. */
3256
+ export interface AIAssistantGenerateResult {
3257
+ success?: boolean;
3258
+ error?: string | {
3259
+ name: string;
3260
+ message: string;
3261
+ statusCode?: number;
3262
+ };
3263
+ statusCode?: number;
3264
+ data: object[];
3265
+ provider: AIProvider | undefined;
3266
+ model: string | undefined;
3267
+ attempt?: number;
3268
+ durationMs?: number;
3269
+ locale?: string | null;
3270
+ usage?: AIAssistantUsage;
3271
+ }
3010
3272
  export interface CallbackContext {
3011
3273
  item: {
3012
3274
  type: string;
@@ -3174,6 +3436,57 @@ declare module "packages/editor/src/state/types/callbacks" {
3174
3436
  'block:added': (data: Record<string, any>, done: (result: any) => void) => void;
3175
3437
  'block:modified': (data: Record<string, any>, done: (result: any) => void) => void;
3176
3438
  'block:removed': (data: Record<string, any>, done: (result: any) => void) => void;
3439
+ /** Host owns generation. When registered, the editor delegates the AI
3440
+ * call instead of hitting its default streaming endpoint; the host
3441
+ * delivers a final result via `done`. Predates streaming — only one
3442
+ * answer per turn. For streaming hosts, prefer endpoint configuration
3443
+ * (a host-implemented SSE endpoint) once available. */
3444
+ 'ai:assistant:generate': (requestParams: AIAssistantRequestParams, done: (result: AIAssistantGenerateResult) => void) => void;
3445
+ /** Companion to `ai:assistant:generate`. Fires when the editor aborts
3446
+ * the in-flight request so the host can stop its own work. */
3447
+ 'ai:assistant:abort': (requestParams: AIAssistantRequestParams) => void;
3448
+ /** Fires at turn start, before any model attempt. Always fires —
3449
+ * including when the host owns generation. */
3450
+ 'ai:assistant:on:request': (requestParams: AIAssistantRequestParams) => void;
3451
+ /** Fires for every internal stream event from the editor's default
3452
+ * pipeline. Does NOT fire when the host owns generation via
3453
+ * `ai:assistant:generate` — the host has its own pipeline then. */
3454
+ 'ai:assistant:on:stream': (event: AIAssistantStreamEvent) => void;
3455
+ /** Turn completed successfully. Always fires. */
3456
+ 'ai:assistant:on:success': (data: {
3457
+ responseId?: string;
3458
+ provider?: string;
3459
+ modelId?: string;
3460
+ /** 1 = primary model; >1 = fell back to a backup model. */
3461
+ attempt?: number;
3462
+ durationMs?: number;
3463
+ /** Locale the AI detected from the user's last message. */
3464
+ locale?: string | null;
3465
+ toolType?: string;
3466
+ usage?: AIAssistantUsage;
3467
+ design: object | null;
3468
+ }) => void;
3469
+ /** Turn failed. Always fires (only fired path; cancellations get
3470
+ * `ai:assistant:on:cancel` instead). */
3471
+ 'ai:assistant:on:error': (data: {
3472
+ name: string;
3473
+ message: string;
3474
+ statusCode?: number;
3475
+ usage?: AIAssistantUsage;
3476
+ provider?: string;
3477
+ modelId?: string;
3478
+ attempt?: number;
3479
+ durationMs?: number;
3480
+ locale?: string | null;
3481
+ }) => void;
3482
+ /** Turn cancelled by the user. Always fires. */
3483
+ 'ai:assistant:on:cancel': (data: {
3484
+ reason?: AICopilotCancelReason | null;
3485
+ partialUsage?: AIAssistantUsage;
3486
+ provider?: string;
3487
+ modelId?: string;
3488
+ attempt?: number;
3489
+ }) => void;
3177
3490
  }
3178
3491
  }
3179
3492
  declare module "packages/editor/src/embed/Editor" {
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "unlayer-types",
3
- "version": "1.416.0",
3
+ "version": "1.419.0",
4
4
  "license": "MIT"
5
5
  }