import type { AssetEntryId } from '@cesdk/cesdk-js'; import type { EditorPlugin } from '@cesdk/cesdk-js'; import type { EditorPluginContext } from '@cesdk/cesdk-js'; /** * Known blur asset ID patterns for GLOB matching. */ declare type BlurAssetId = 'ly.img.blur'; /** * Provides blur effect assets for the Creative Editor SDK. * @public */ export declare class BlurAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: BlurAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface BlurAssetSourceConfig { baseURL?: string; /** * Include specific blur assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.blur.*'] - Include all blur types * @example ['ly.img.blur.uniform'] - Include specific blur type */ include?: (`${BlurAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known caption preset asset ID patterns for GLOB matching. */ declare type CaptionPresetAssetId = 'ly.img.caption.presets'; /** * Provides caption preset assets for the Creative Editor SDK. * @public */ export declare class CaptionPresetsAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: CaptionPresetsAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface CaptionPresetsAssetSourceConfig { baseURL?: string; customFetchImpl?: typeof fetch; /** * Include specific caption preset assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.caption.presets.*'] - Include all caption presets * @example ['ly.img.caption.presets.glow'] - Include specific preset */ include?: (`${CaptionPresetAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known color palette asset ID patterns for GLOB matching. */ declare type ColorPaletteAssetId = 'ly.img.color.palette'; /** * Provides color palette assets for the Creative Editor SDK. * @public */ export declare class ColorPaletteAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: ColorPaletteAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface ColorPaletteAssetSourceConfig { baseURL?: string; /** * Include specific color palette assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.color.palette.*'] - Include all color palettes * @example ['ly.img.color.palette.coral'] - Include specific palette */ include?: (`${ColorPaletteAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known crop preset asset ID patterns for GLOB matching. */ declare type CropPresetAssetId = 'ly.img.crop.presets' | 'ly.img.crop.presets.fixed-ratio'; /** * Provides crop preset assets for the Creative Editor SDK. * @public */ export declare class CropPresetsAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: CropPresetsAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface CropPresetsAssetSourceConfig { baseURL?: string; /** * Include specific crop preset assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.crop.presets.*'] - Include all crop presets * @example ['ly.img.crop.presets.fixed-ratio.*'] - Include all fixed ratio presets * @example ['ly.img.crop.presets.fixed-ratio.16_9'] - Include specific ratio */ include?: (`${CropPresetAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known demo asset source ID patterns for GLOB matching. * Templates have subcategories for better filtering. */ declare type DemoAssetSourceId = 'ly.img.audio' | 'ly.img.video' | 'ly.img.image' | 'ly.img.templates' | 'ly.img.templates.blank' | 'ly.img.templates.social' | 'ly.img.templates.print' | 'ly.img.templates.presentation' | 'ly.img.templates.video'; /** * Provides demo assets and templates for testing and development. * @public */ export declare class DemoAssetSources implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: DemoAssetSourcesConfig); /** * Convert a GLOB pattern to a RegExp. * Supports: * (any chars), ? (single char), and literal matching. */ private globToRegex; /** * Check if any GLOB pattern could match assets from a given source. * A source should be loaded if any matcher pattern matches the source ID or starts with it. * * Examples for source 'ly.img.templates': * - 'ly.img.templates' → matches (exact source ID) * - 'ly.img.templates.*' → matches (starts with source ID) * - '*.templates.*' → matches (pattern matches source ID) * - 'ly.img.image.*' → no match */ private sourceMatchesAnyPattern; /** * Filter asset sources based on GLOB matcher patterns. * Returns which source IDs should be loaded based on pattern matching. */ private filterAssetSources; /** * Filter matchers to only include patterns relevant to a specific source. * A matcher is relevant if it matches the source ID or starts with it. * * Examples for source 'ly.img.templates': * - 'ly.img.templates' → relevant (exact match) * - 'ly.img.templates.*' → relevant (starts with source ID) * - '*.templates.*' → relevant (pattern matches source ID) * - 'ly.img.image.*' → not relevant */ private filterMatchersForSource; /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface DemoAssetSourcesConfig { baseURL?: string; /** * Include specific asset sources and assets to load using GLOB patterns. * Can use exact source IDs or patterns with wildcards: * - Exact: 'ly.img.image' (matches source) * - Pattern: 'ly.img.image.*' (matches assets from source) * - Wildcard: 'ly.img.*' (matches all ly.img sources) * Supports wildcards: * (any characters), ? (single character) */ include?: (`${DemoAssetSourceId}.*` | (string & {}))[]; /** * Custom mapping of asset source IDs to asset library entry IDs. * Key: asset source ID (e.g., 'ly.img.image') * Value: asset library entry ID or array of IDs (e.g., 'ly.img.image' or ['ly.img.image', 'custom.library']) * If not specified, default mappings will be used. */ assetLibraryEntries?: Record; } /** * Known effect asset ID patterns for GLOB matching. */ declare type EffectAssetId = 'ly.img.effect'; /** * Provides visual effect assets for the Creative Editor SDK. * @public */ export declare class EffectsAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: EffectsAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface EffectsAssetSourceConfig { baseURL?: string; /** * Include specific effect assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.effect.*'] - Include all effects * @example ['ly.img.effect.pixelize'] - Include specific effect */ include?: (`${EffectAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known filter asset ID patterns for GLOB matching. * Organized by filter categories for easy selection. */ declare type FilterAssetId = 'ly.img.filter' | 'ly.img.filter.duotone' | 'ly.img.filter.lut' | 'ly.img.filter.lut.bw' | 'ly.img.filter.lut.retro' | 'ly.img.filter.lut.analog' | 'ly.img.filter.lut.winter' | 'ly.img.filter.lut.summer' | 'ly.img.filter.lut.legacy'; /** * Provides filter assets for the Creative Editor SDK. * @public */ export declare class FiltersAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: FiltersAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface FiltersAssetSourceConfig { baseURL?: string; /** * Include specific filter assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.filter.*'] - Include all filters * @example ['ly.img.filter.duotone.*'] - Include all duotone filters * @example ['ly.img.filter.lut.winter.*'] - Include all winter LUT filters * @example ['ly.img.filter.lut.*'] - Include all LUT filters */ include?: (`${FilterAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known page preset asset ID patterns for GLOB matching. * Organized by platform and print categories. */ declare type PagePresetAssetId = 'ly.img.page.presets' | 'ly.img.page.presets.facebook' | 'ly.img.page.presets.facebook.video' | 'ly.img.page.presets.instagram' | 'ly.img.page.presets.linkedin' | 'ly.img.page.presets.pinterest' | 'ly.img.page.presets.print' | 'ly.img.page.presets.print.brochure' | 'ly.img.page.presets.print.business_card' | 'ly.img.page.presets.print.flyer' | 'ly.img.page.presets.print.iso' | 'ly.img.page.presets.print.na' | 'ly.img.page.presets.print.postcard' | 'ly.img.page.presets.print.poster' | 'ly.img.page.presets.tiktok' | 'ly.img.page.presets.tiktok.video' | 'ly.img.page.presets.video' | 'ly.img.page.presets.x' | 'ly.img.page.presets.x.video' | 'ly.img.page.presets.youtube'; /** * Provides page layout preset assets for the Creative Editor SDK. * @public */ export declare class PagePresetsAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: PagePresetsAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface PagePresetsAssetSourceConfig { baseURL?: string; /** * Include specific page preset assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.page.presets.*'] - Include all page presets * @example ['ly.img.page.presets.instagram.*'] - Include all Instagram presets * @example ['ly.img.page.presets.print.iso.a4.*'] - Include all A4 sizes * @example ['ly.img.page.presets.print.iso.*'] - Include all ISO print sizes */ include?: (`${PagePresetAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known premium asset source ID patterns for GLOB matching. */ declare type PremiumAssetSourceId = 'ly.img.templates.premium' | 'ly.img.templates.premium.e-commerce' | 'ly.img.templates.premium.event' | 'ly.img.templates.premium.personal' | 'ly.img.templates.premium.professional' | 'ly.img.templates.premium.socials'; /** * Provides premium template assets. * Templates are scene archives (.zip) loaded via a custom apply handler. * @public */ export declare class PremiumTemplatesAssetSource implements EditorPlugin { private config; name: string; version: string; private sourceAdded; constructor(config?: PremiumTemplatesAssetSourceConfig); /** * Convert a GLOB pattern to a RegExp. */ private globToRegex; /** * Filter matchers to only include patterns relevant to this source. */ private filterMatchersForSource; /** * Get asset library entry IDs for the premium source. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface PremiumTemplatesAssetSourceConfig { baseURL?: string; /** * Include specific assets to load using GLOB patterns. * Can use exact source IDs or patterns with wildcards: * - Exact: 'ly.img.templates.premium' (matches source) * - Pattern: 'ly.img.templates.premium.*' (matches assets from source) * Supports wildcards: * (any characters), ? (single character) */ include?: (`${PremiumAssetSourceId}.*` | (string & {}))[]; /** * Custom mapping of asset source IDs to asset library entry IDs. * Key: asset source ID * Value: asset library entry ID or array of IDs * If not specified, defaults to adding to 'ly.img.templates'. */ assetLibraryEntries?: Record; } /** * Known sticker asset ID patterns for GLOB matching. * Organized by sticker categories. */ declare type StickerAssetId = 'ly.img.sticker' | 'ly.img.sticker.3Dstickers' | 'ly.img.sticker.craft' | 'ly.img.sticker.doodle' | 'ly.img.sticker.emoji' | 'ly.img.sticker.emoticons' | 'ly.img.sticker.florals' | 'ly.img.sticker.hand'; /** * Provides sticker assets for the Creative Editor SDK. * @public */ export declare class StickerAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: StickerAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface StickerAssetSourceConfig { baseURL?: string; /** * Include specific sticker assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.sticker.*'] - Include all stickers * @example ['ly.img.sticker.emoji.*'] - Include all emoji stickers * @example ['ly.img.sticker.craft.*'] - Include all craft stickers */ include?: (`${StickerAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known text asset ID patterns for GLOB matching. * Includes title, headline, and paragraph text presets. */ declare type TextAssetId = 'ly.img.text'; /** * Provides text preset assets for the Creative Editor SDK. * @public */ export declare class TextAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: TextAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface TextAssetSourceConfig { baseURL?: string; /** * Include specific text assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.text.*'] - Include all text presets */ include?: (`${TextAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known text component asset ID patterns for GLOB matching. */ declare type TextComponentAssetId = 'ly.img.text.components'; /** * Provides text component assets for the Creative Editor SDK. * @public */ export declare class TextComponentAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: TextComponentAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface TextComponentAssetSourceConfig { baseURL?: string; /** * Include specific text component assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.text.components.*'] - Include all text components * @example ['ly.img.text.components.glow'] - Include specific component */ include?: (`${TextComponentAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known typeface asset ID patterns for GLOB matching. */ declare type TypefaceAssetId = 'ly.img.typeface'; /** * Provides typeface and font assets for the Creative Editor SDK. * @public */ export declare class TypefaceAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: TypefaceAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface TypefaceAssetSourceConfig { baseURL?: string; /** * Include specific typeface assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.typeface.*'] - Include all typefaces * @example ['ly.img.typeface.roboto'] - Include specific font */ include?: (`${TypefaceAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } /** * Known upload asset source IDs for pattern matching. */ declare type UploadAssetSourceId = 'ly.img.image.upload' | 'ly.img.video.upload' | 'ly.img.audio.upload'; /** * Provides local upload sources for images, videos, audio, and custom file types. * * This plugin uses a unified `include` config that handles filtering, customization, * and adding sources based on what you provide: * - **Additive mode**: Customize/add to all defaults (when only objects provided) * - **Explicit mode**: Choose which defaults to include (when any string provided) * * @example Basic usage (all defaults) * ```ts * plugins: [new UploadAssetSources()] * ``` * * @example Additive: Customize one default, keep all others * ```ts * plugins: [ * new UploadAssetSources({ * include: [ * { * id: 'ly.img.image.upload', * mimeTypes: ['image/jpeg', 'image/png'] * } * ] * }) * ] * // Result: image (customized), video (default), audio (default) * ``` * * @example Explicit: Only specific defaults * ```ts * plugins: [ * new UploadAssetSources({ * include: ['ly.img.image.upload', 'ly.img.video.upload'] * }) * ] * // Result: image (default), video (default), audio (excluded) * ``` * * @example Explicit: Include and customize * ```ts * plugins: [ * new UploadAssetSources({ * include: [ * 'ly.img.image.upload', * { * id: 'ly.img.video.upload', * mimeTypes: ['video/mp4', 'video/webm'] * } * ] * }) * ] * // Result: image (default), video (customized), audio (excluded) * ``` * * @example Additive: Add custom source with all defaults * ```ts * plugins: [ * new UploadAssetSources({ * include: [ * { * id: 'custom.pdf.upload', * mimeTypes: ['application/pdf'], * assetLibraryEntries: 'custom.documents' * } * ] * }) * ] * // Result: image (default), video (default), audio (default), pdf (custom) * ``` * * @public */ export declare class UploadAssetSources implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; private addedLibraryEntryMappings; constructor(config?: UploadAssetSourcesConfig); /** * Check if the include config is in explicit mode (contains any strings). */ private isExplicitMode; /** * Get the IDs that should be explicitly included (from string entries). */ private getExplicitIncludes; /** * Get the customizations/additions from object entries. */ private getCustomizations; /** * Get asset library entries for a source. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } /** * Configuration for the UploadAssetSources plugin. */ declare interface UploadAssetSourcesConfig { /** * Include upload sources - filter, customize, or add sources. * * Supports two modes based on what you provide: * * **Additive Mode** (when all entries are objects): * - All default sources are included * - Objects customize existing defaults or add new custom sources * * **Explicit Mode** (when any string is present): * - Only explicitly listed sources are included * - Strings include default sources as-is * - Objects customize defaults or add custom sources * * @example Additive: Customize one default, keep all others * ```ts * include: [ * { * id: 'ly.img.image.upload', * mimeTypes: ['image/jpeg', 'image/png'] // Customize this one * } * // ly.img.video.upload and ly.img.audio.upload still included with defaults * ] * ``` * * @example Explicit: Only include specific defaults * ```ts * include: [ * 'ly.img.image.upload', // Include with defaults * 'ly.img.video.upload' // Include with defaults * // ly.img.audio.upload is excluded * ] * ``` * * @example Explicit: Include and customize * ```ts * include: [ * 'ly.img.image.upload', // Include with defaults * { * id: 'ly.img.video.upload', * mimeTypes: ['video/mp4', 'video/webm'] // Customize this one * } * // ly.img.audio.upload is excluded * ] * ``` * * @example Additive: Add custom source * ```ts * include: [ * { * id: 'custom.pdf.upload', * mimeTypes: ['application/pdf'], * assetLibraryEntries: 'custom.documents' * } * // All defaults still included * ] * ``` */ include?: (UploadAssetSourceId | UploadSourceConfig)[]; } /** * Configuration for a single upload asset source. * Can be used to create new custom sources or extend/customize default sources. */ declare interface UploadSourceConfig { /** * The asset source ID (e.g., 'ly.img.image.upload'). * If this ID matches a default source, it will extend/customize that default. */ id: string; /** * MIME types accepted by this upload source. * When extending a default source, this completely replaces the default MIME types. */ mimeTypes: string[]; /** * Asset library entry IDs where this source should appear. * Can be a single ID or an array of IDs. * When extending a default source, this replaces the default library entries. * @example 'ly.img.image' * @example ['ly.img.image', 'ly.img.upload'] */ assetLibraryEntries?: AssetEntryId | AssetEntryId[]; } /** * Known vector shape asset ID patterns for GLOB matching. * Shapes are organized in groups: filled, gradient, image, and outline. */ declare type VectorShapeAssetId = 'ly.img.vector.shape' | 'ly.img.vector.shape.filled' | 'ly.img.vector.shape.filled.abstract' | 'ly.img.vector.shape.gradient' | 'ly.img.vector.shape.gradient.abstract' | 'ly.img.vector.shape.image' | 'ly.img.vector.shape.image.abstract' | 'ly.img.vector.shape.outline' | 'ly.img.vector.shape.outline.abstract'; /** * Provides vector shape assets for the Creative Editor SDK. * @public */ export declare class VectorShapeAssetSource implements EditorPlugin { private config; name: string; version: string; private addedAssetSourceIds; constructor(config?: VectorShapeAssetSourceConfig); /** * Get asset library entry IDs for a given asset source ID. * Uses custom mapping if provided, otherwise falls back to default mapping. * Returns an array of library entry IDs. */ private getAssetLibraryEntries; initialize({ engine, cesdk }: EditorPluginContext): Promise; cleanup({ engine, cesdk }: EditorPluginContext): void; } declare interface VectorShapeAssetSourceConfig { baseURL?: string; /** * Include specific vector shape assets to load using GLOB patterns. * Supports wildcards: `*` (match any) and `?` (match one character). * @example ['ly.img.vector.shape.*'] - Include all vector shapes * @example ['ly.img.vector.shape.filled.*'] - Include all filled shapes * @example ['ly.img.vector.shape.gradient.abstract.*'] - Include all gradient abstract shapes * @example ['ly.img.vector.shape.filled.star'] - Include specific filled star shape */ include?: (`${VectorShapeAssetId}.*` | (string & {}))[]; /** * Custom mapping of asset source ID to asset library entry IDs. * If not specified, default mapping will be used. */ assetLibraryEntries?: Record; } export { }