export interface ExtensionManifest { id: string title: string subTitle: string description: string entry: string version: string iconUrl: string publisher: { name: string email: string url: string icon?: { src: string width?: number height?: number } } links: { title: string href: string }[] config: { modalSize?: 'xs' | 'sm' | 'md' | 'lg' | 'fullscreen' | 'extensionFullscreen' contentMinHeight?: string } order: number disabled?: boolean type: 'extension' /** * `beta` used for extension visibility. */ beta?: boolean onPrem?: boolean /** * The minimum access role required to access the extension. * @default 'creator' */ minAccessRole?: 'owner' | 'creator' | 'editor' | 'commenter' | 'viewer' /** * `showAsBeta` released as a beta extension. * We will add beta tab in market, details and extension places. */ showAsBeta?: boolean } export interface ScriptManifest { id: string title: string subTitle: string description: string entry: string version: string iconUrl: string publisher: { name: string email: string url: string icon?: { src: string width?: number height?: number } } links: { title: string href: string }[] order: number disabled?: boolean type: 'script' beta?: boolean onPrem?: boolean } export type PluginManifest = ExtensionManifest | ScriptManifest export interface ExtensionConfigInjType { activeExtensionId?: string isPageDesignerPreviewPanel?: boolean [key: string]: any }