/** * ThinkHive SDK - Notifications API * * Notification rules and alert management */ /** Notification rule definition */ export interface NotificationRule { id: string; agentId: string; name: string; condition: string; channel: string; isEnabled: boolean; createdAt: string; updatedAt: string; [key: string]: unknown; } /** Data for creating a notification rule */ export interface CreateNotificationRuleData { agentId: string; name: string; condition: string; channel: string; isEnabled?: boolean; threshold?: number; metadata?: Record; } /** Data for updating a notification rule */ export interface UpdateNotificationRuleData { name?: string; condition?: string; channel?: string; isEnabled?: boolean; threshold?: number; metadata?: Record; } /** A notification alert */ export interface Notification { id: string; agentId: string; ruleId: string; message: string; isRead: boolean; createdAt: string; metadata?: Record; } /** * Notifications API client for managing notification rules and alerts */ export declare const notifications: { /** * List notification rules for an agent * * @param agentId - The agent ID to list rules for * @returns List of notification rules */ listRules(agentId: string): Promise; /** * Get a notification rule by ID * * @param id - The rule ID * @param agentId - Optional agent ID for scoping * @returns The notification rule */ getRule(id: string, agentId?: string): Promise; /** * Create a new notification rule * * @param data - Rule configuration data * @returns The created notification rule */ createRule(data: CreateNotificationRuleData): Promise; /** * Update an existing notification rule * * @param id - The rule ID to update * @param data - Fields to update * @returns The updated notification rule */ updateRule(id: string, data: UpdateNotificationRuleData): Promise; /** * Delete a notification rule * * @param id - The rule ID to delete */ deleteRule(id: string): Promise; /** * List notifications for an agent * * @param agentId - The agent ID * @param unreadOnly - Whether to only return unread notifications * @returns List of notifications */ listNotifications(agentId: string, unreadOnly?: boolean): Promise; /** * Mark a notification as read * * @param id - The notification ID to mark as read * @returns The updated notification */ markAsRead(id: string): Promise; /** Alias for listNotifications() */ list(agentId: string, unreadOnly?: boolean): Promise; }; export { notifications as default };