import type { BlipClient } from '../client.ts'; import type { BlipLanguage } from '../types/account.ts'; import type { Identity } from '../types/node.ts'; import type { DetailedPlugin, Plugin, PluginBilling, PluginSubscription } from '../types/plugins.ts'; import type { Application } from '../types/portal.ts'; import { type ConsumeOptions, Namespace, type SendCommandOptions } from './namespace.ts'; export declare class PluginsNamespace extends Namespace { constructor(blipClient: BlipClient, defaultOptions?: SendCommandOptions); getTenantApplicationsWithPlugin(tenantId: string, pluginId: string, opts?: ConsumeOptions): Promise>; getInstalledPlugins(tenantId: string, opts?: ConsumeOptions): Promise>; /** * @param tenantId - The tenant id to use when fetching the plugins, only works as blip.ai user and the user should be a member of the tenant */ getPlugins(tenantId?: string, opts?: ConsumeOptions): Promise>; getPlugin(pluginId: string, query?: { returnInstalledBots?: boolean; language?: BlipLanguage; }, opts?: ConsumeOptions): Promise; getPluginSubscription(tenantId: string, pluginId: string, opts?: ConsumeOptions): Promise; /** * @param settings.hasPartnerService - Whether the plugin has a partner service (default value: false) * @param settings.language - The language to send the communication emails (default value: pt) * @param settings.plan - If the plugin has multiple plans, the plan to subscribe to */ subscribeToPlugin(tenantId: string, pluginId: string, settings: { plan: number; hasPartnerService?: boolean; language?: BlipLanguage; }, opts?: ConsumeOptions): Promise; upgradePluginSubscription(tenantId: string, pluginId: string, settings: { plan: number; language?: BlipLanguage; }, opts?: ConsumeOptions): Promise; cancelPluginSubscription(tenantId: string, pluginId: string, settings?: { language?: BlipLanguage; }, opts?: ConsumeOptions): Promise; /** * @param settings.language - The language to send the communication emails (default value: pt) * @param settings.applicationIdentity - The application identity to install the plugin */ installPlugin(tenantId: string, pluginId: string, settings: { applicationIdentity: Identity; language?: BlipLanguage; }, opts?: ConsumeOptions): Promise; /** * @param settings.language - The language to send the communication emails (default value: pt) * @param settings.applicationIdentity - The application identity to uninstall the plugin */ uninstallPlugin(tenantId: string, pluginId: string, settings: { applicationIdentity: Identity; language?: BlipLanguage; }, opts?: ConsumeOptions): Promise; /** This route can only be called by an admin user of blip.ai */ deletePluginMedia(mediaId: string, opts?: ConsumeOptions): Promise; /** This route can only be called by an admin user of blip.ai */ addPluginMedia(pluginId: string, type: 'image' | 'video', url: string, opts?: ConsumeOptions): Promise; /** This route can only be called by an admin user of blip.ai */ addPlugin(plugin: { documentation: DetailedPlugin['documentation']; url: string; icon: DetailedPlugin['icon']; price?: DetailedPlugin['price']; authorId: number; media: Array<{ uri: string; type: 'image' | 'video'; }>; tags: Array; languages: { pt: { name: string; overview: string; description: string; }; en: { name: string; overview: string; description: string; }; es: { name: string; overview: string; description: string; }; }; prices?: Array & { featuresIncluded: Array<{ icon: string; description: string; }>; }>; }, opts?: ConsumeOptions): Promise; /** This route can only be called by an admin user of blip.ai */ updatePlugin(pluginId: string, plugin: Partial & { url: string; isPublished: boolean; }>, opts?: ConsumeOptions): Promise; setPluginBilling(pluginId: string, billingId: string, billing: Omit & { featuresIncluded: Array<{ icon: string; description: string; }>; }, opts?: ConsumeOptions): Promise; } //# sourceMappingURL=plugins.d.ts.map