apptise-core
Version:
Core library for Apptise unified notification system
58 lines • 1.8 kB
TypeScript
import { NotificationPlugin } from '../base/plugin.js';
import type { NotificationMessage, NotificationResult, PluginConfig, PluginRegistration } from '../base/types.js';
/**
* Lark (Feishu) notification plugin
*
* Supports the following URL formats (templates):
* - {schema}://{token}
*
* Where schema is 'lark'
*
* @example
* ```typescript
* const plugin = new LarkPlugin();
* const config = plugin.parseUrl('lark://your-bot-token');
* const result = await plugin.send(config, {
* title: 'Test Title',
* body: 'Test message content'
* });
* ```
*/
export declare class LarkPlugin extends NotificationPlugin {
readonly registration: PluginRegistration;
private readonly serviceConfig;
private readonly templates;
private readonly templateTokens;
/**
* Parse Lark URL and extract configuration
*
* @param url - Lark notification URL
* @returns Parsed plugin configuration
*/
parseUrl(url: string): PluginConfig;
/**
* Send notification to Lark
*
* @param config - Plugin configuration
* @param message - Notification message
* @returns Notification result
*/
send(config: PluginConfig, message: NotificationMessage): Promise<NotificationResult>;
/**
* Build URL from configuration (for debugging/logging purposes)
*
* @param config - Plugin configuration
* @param privacy - Whether to hide sensitive information
* @returns Reconstructed URL
*/
buildUrl(config: PluginConfig, privacy?: boolean): string;
}
/**
* Create a new Lark plugin instance
*
* @returns New Lark plugin instance
*/
export declare function createLarkPlugin(): LarkPlugin;
export declare const larkPlugin: LarkPlugin;
export default larkPlugin;
//# sourceMappingURL=lark.d.ts.map