UNPKG

apptise-core

Version:

Core library for Apptise unified notification system

62 lines 1.93 kB
import { NotificationPlugin } from '../base/plugin.js'; import type { NotificationMessage, NotificationResult, PluginConfig, PluginRegistration } from '../base/types.js'; /** * Feishu notification plugin * * Supports the following URL formats (templates): * - {schema}://{token} * * Where schema is 'feishu' * * @example * ```typescript * const plugin = new FeishuPlugin(); * const config = plugin.parseUrl('feishu://your-token'); * const result = await plugin.send(config, { * title: 'Test Title', * body: 'Test message content' * }); * ``` */ export declare class FeishuPlugin extends NotificationPlugin { readonly registration: PluginRegistration; private readonly serviceConfig; private readonly templates; private readonly templateTokens; private readonly templateArgs; /** * Parse Feishu URL and extract configuration * * Supports template: * - {schema}://{token} * * @param url - The Feishu URL to parse * @returns Plugin configuration * @throws {Error} When URL format is invalid */ parseUrl(url: string): PluginConfig; /** * Send notification to Feishu * * @param config - Plugin configuration * @param message - Notification message * @returns Notification result */ send(config: PluginConfig, message: NotificationMessage): Promise<NotificationResult>; /** * Validate Feishu plugin configuration * * @param config - Plugin configuration to validate * @returns True if configuration is valid */ validateConfig(config: PluginConfig): boolean; /** * Validate notification message for Feishu * * @param message - Notification message to validate * @returns True if message is valid */ validateMessage(message: NotificationMessage): boolean; } export declare const feishuPlugin: FeishuPlugin; //# sourceMappingURL=feishu.d.ts.map