---
url: https://plugin.stripo.email/extensions/reference.md
---
# Stripo Extensions SDK API Reference

Comprehensive API documentation for the Stripo Email Editor Extensions SDK.

## Core Interfaces

### API Interfaces

| API                                                     | Description                                                |
|---------------------------------------------------------|------------------------------------------------------------|
| [BaseApi](./reference/api/BaseApi.md)                            | Core API functionality for all extension components        |
| [BaseModifierApi](./reference/api/BaseModifierApi.md)            | Document modification capabilities                         |
| [BlockApi](./reference/api/BlockApi.md)                          | API interface for Block implementations                    |
| [BlockRendererApi](./reference/api/BlockRendererApi.md)          | API interface for BlockRenderer implementations            |
| [BlocksPanelApi](./reference/api/BlocksPanelApi.md)              | API interface for custom blocks panel implementations      |
| [ContextActionApi](./reference/api/ContextActionApi.md)          | API interface for context action implementations           |
| [ControlApi](./reference/api/ControlApi.md)                      | API interface for control implementations                  |
| [GeneralPanelTabApi](./reference/api/GeneralPanelTabApi.md)      | API interface for general panel tab implementations        |
| [ModulesPanelTabApi](./reference/api/ModulesPanelTabApi.md)      | API interface for modules panel tab implementations        |
| [SettingsPanelApi](./reference/api/SettingsPanelApi.md)          | API interface for settings panel tab implementations       |
| [UIElementApi](./reference/api/UIElementApi.md)                  | API interface for UI element implementations               |

### Block Components

| API                                                     | Description                                                |
|---------------------------------------------------------|------------------------------------------------------------|
| [Block](./reference/blocks/Block.md)                             | Base abstract class for creating custom blocks             |
| [BlockRenderer](./reference/blocks/BlockRenderer.md)             | Base class for custom block rendering                      |
| [BlocksPanel](./reference/blocks/BlocksPanel.md)                 | Base class for creating custom blocks panels               |
| [ContextAction](./reference/blocks/ContextAction.md)             | Abstract base class for context menu actions               |

### Control Components

| API                                                     | Description                                                |
|---------------------------------------------------------|------------------------------------------------------------|
| [Control](./reference/controls/Control.md)                       | Abstract base class for creating custom controls           |
| [GeneralPanelTab](./reference/controls/GeneralPanelTab.md)       | Base class for creating general panel tabs                 |
| [ModulesPanelTab](./reference/controls/ModulesPanelTab.md)       | Base class for creating modules panel tabs                 |

### Core Components

| API                                                     | Description                                                |
|---------------------------------------------------------|------------------------------------------------------------|
| [Extension](./reference/core/Extension.md)                       | Base class for creating Stripo extensions                  |
| [ExtensionBuilder](./reference/core/ExtensionBuilder.md)         | Builder class for constructing extension configurations     |

### Template Modification

| API                                                                      | Description                                                  |
|--------------------------------------------------------------------------|--------------------------------------------------------------|
| [TemplateModifier](./reference/modification/TemplateModifier.md)                   | Base interface for managing template modifications           |
| [HtmlNodeModifier](./reference/modification/HtmlNodeModifier.md)                   | Interface for modifying HTML nodes in email templates        |
| [CssNodeModifier](./reference/modification/CssNodeModifier.md)                     | Interface for modifying CSS rules and properties             |
| [MultiRowStructureModifier](./reference/modification/MultiRowStructureModifier.md) | Interface for creating and modifying email structure layouts |
| [ModificationDescription](./reference/modification/ModificationDescription.md)     | Class for providing context about template modifications     |

### Node Interfaces

#### Base Node Interfaces

| API                                                               | Description                                              |
|-------------------------------------------------------------------|----------------------------------------------------------|
| [BaseImmutableNode](./reference/nodes/BaseImmutableNode.md)                 | Common interface for all immutable nodes                 |
| [BaseImmutableHtmlNode](./reference/nodes/BaseImmutableHtmlNode.md)         | HTML-specific base with type casting method              |
| [BaseImmutableCssNode](./reference/nodes/BaseImmutableCssNode.md)           | CSS-specific base with type casting and comment checking |

#### HTML Node Interfaces

| API                                                               | Description                                              |
|-------------------------------------------------------------------|----------------------------------------------------------|
| [ImmutableHtmlNode](./reference/nodes/ImmutableHtmlNode.md)                 | Base interface for immutable HTML nodes                  |
| [ImmutableHtmlElementNode](./reference/nodes/ImmutableHtmlElementNode.md)   | HTML elements with attributes, styles, and methods       |
| [ImmutableHtmlTextNode](./reference/nodes/ImmutableHtmlTextNode.md)         | Text content nodes                                       |

#### CSS Node Interfaces

| API                                                               | Description                                              |
|-------------------------------------------------------------------|----------------------------------------------------------|
| [ImmutableCssNode](./reference/nodes/ImmutableCssNode.md)                   | Base interface for immutable CSS nodes                   |
| [ImmutableCssRuleNode](./reference/nodes/ImmutableCssRuleNode.md)           | CSS rules with selectors                                 |
| [ImmutableCssAttributeNode](./reference/nodes/ImmutableCssAttributeNode.md) | CSS properties/attributes                                |
| [ImmutableCssCommentNode](./reference/nodes/ImmutableCssCommentNode.md)     | CSS comments                                             |
| [ImmutableCssDocumentNode](./reference/nodes/ImmutableCssDocumentNode.md)   | Document and media query containers                      |

### Types and Interfaces

| API | Description |
|-----|-------------|
| [AIPopoverOptions](./reference/types/AIPopoverOptions.md) | Configuration for AI-assisted popovers |
| [BlockHint](./reference/types/BlockHint.md) | Configuration for block hints and tooltips |
| [BlockItem](./reference/types/BlockItem.md) | Configuration for block items in panels |
| [CustomFontFamily](./reference/types/CustomFontFamily.md) | Configuration for custom font families |
| [DisplayCondition](./reference/types/DisplayCondition.md) | Configuration for conditional element visibility |
| [EditorPermissions](./reference/types/EditorPermissions.md) | Interface describing the current user's editor permissions |
| [EmojiPopoverOptions](./reference/types/EmojiPopoverOptions.md) | Configuration for emoji picker popovers |
| [HideElementState](./reference/types/HideElementState.md) | Type for device-specific hidden element state |
| [StructureLayout](./reference/types/StructureLayout.md) | Type for defining container layouts in structures |

### Constants and Enums

| API | Description                                                |
|-----|------------------------------------------------------------|
| [AiAssistantValueType](./reference/constants/AiAssistantValueType.md) | Enum for AI assistant value types                          |
| [BlockAttr](./reference/constants/BlockAttr.md) | Enum for block attribute constants                         |
| [BlockCompositionType](./reference/constants/BlockCompositionType.md) | Enum defining block composition types                      |
| [BlockType](./reference/constants/BlockType.md) | Enum for block type definitions                            |
| [ContextActionType](./reference/constants/ContextActionType.md) | Enum for context action type definitions                   |
| [EditorState](./reference/constants/EditorState.md) | Interface for the active editor state object               |
| [EditorStatePropertyType](./reference/constants/EditorStatePropertyType.md) | Enum for observable editor state properties                |
| [ElementLockCategory](./reference/constants/ElementLockCategory.md) | Enum for Element Lock categories of controls               |
| [OrderableItemIconPosition](./reference/constants/OrderableItemIconPosition.md) | Enum for orderable UI element drag handle icon positioning |
| [PanelPosition](./reference/constants/PanelPosition.md) | Enum for defining panel positioning options                |
| [PreviewDeviceMode](./reference/constants/PreviewDeviceMode.md) | Enum for preview device mode settings                      |
| [SettingsTab](./reference/constants/SettingsTab.md) | Enum for settings tab definitions                          |
| [ThemeMode](./reference/constants/ThemeMode) | Enum for email template theme mode values                  |
| [UEAttr](./reference/constants/UEAttr.md) | Enum for UI element attribute constants                    |
| [UIElementType](./reference/constants/UIElementType.md) | Enum for UI element type definitions                       |

### Integrations

| API | Description                                                          |
|-----|----------------------------------------------------------------------|
| [ExternalAiAssistant](./reference/integrations/ExternalAiAssistant.md) | Interface for integrating external AI assistants                     |
| [ExternalDisplayConditionsLibrary](./reference/integrations/ExternalDisplayConditionsLibrary.md) | Interface for integrating external display condition systems         |
| [ExternalImageLibrary](./reference/integrations/ExternalImageLibrary.md) | Interface for integrating external image libraries                   |
| [ExternalImageLibraryTab](./reference/integrations/ExternalImageLibraryTab.md) | Interface for creating a custom tab within image libraries (v3.2.0+) |
| [ExternalMergeTagsLibrary](./reference/integrations/ExternalMergeTagsLibrary.md) | Interface for integrating external merge tags libraries (v3.11.0+)   |
| [ExternalSmartElementsLibrary](./reference/integrations/ExternalSmartElementsLibrary.md) | Interface for integrating external smart elements libraries          |
| [ExternalVideosLibrary](./reference/integrations/ExternalVideosLibrary.md) | Interface for integrating external video libraries                   |

### Settings Panel

| API | Description |
|-----|-------------|
| [SettingsPanelRegistry](./reference/settings-panel/SettingsPanelRegistry.md) | Registry for managing settings panel tabs |
| [SettingsPanelTab](./reference/settings-panel/SettingsPanelTab.md) | Base class for creating custom settings panel tabs |

### Icons Management

| API | Description |
|-----|-------------|
| [IconsRegistry](./reference/icons/IconsRegistry.md) | Registry for managing custom SVG icons in extensions |

### UI Elements

| API | Description |
|-----|-------------|
| [UIElement](./reference/ui-elements/UIElement.md) | Base class for creating custom UI elements |
| [UIElementTagRegistry](./reference/ui-elements/UIElementTagRegistry.md) | Registry for managing custom UI element tags |
