import { SunapiClient } from '../client'; import { SunapiResponse, EventRule, EventLog, EventType } from '../types'; export declare class EventModule extends SunapiClient { /** * Get all event rules */ getEventRules(): Promise>; /** * Get specific event rule */ getEventRule(ruleId: number): Promise>; /** * Create or update event rule */ setEventRule(rule: Partial & { ruleId: number; }): Promise>; /** * Delete event rule */ deleteEventRule(ruleId: number): Promise>; /** * Enable event rule */ enableEventRule(ruleId: number): Promise>; /** * Disable event rule */ disableEventRule(ruleId: number): Promise>; /** * Get event logs */ getEventLogs(startTime?: Date, endTime?: Date, eventType?: EventType, channelId?: number, limit?: number): Promise>; /** * Clear event logs */ clearEventLogs(): Promise>; /** * Test event rule (trigger manually) */ testEventRule(ruleId: number): Promise>; /** * Configure motion detection */ setMotionDetection(channelId: number, enabled: boolean, sensitivity?: number, areas?: Array<{ x: number; y: number; width: number; height: number; }>): Promise>; /** * Get motion detection settings */ getMotionDetection(channelId: number): Promise>; /** * Configure tampering detection */ setTamperingDetection(channelId: number, enabled: boolean, sensitivity?: number): Promise>; /** * Configure audio detection */ setAudioDetection(channelId: number, enabled: boolean, sensitivity?: number, threshold?: number): Promise>; /** * Configure intrusion detection */ setIntrusionDetection(channelId: number, enabled: boolean, areas?: Array<{ points: Array<{ x: number; y: number; }>; }>): Promise>; /** * Configure line crossing detection */ setLineCrossingDetection(channelId: number, enabled: boolean, lines?: Array<{ points: Array<{ x: number; y: number; }>; direction: 'both' | 'left_to_right' | 'right_to_left'; }>): Promise>; /** * Get notification settings */ getNotificationSettings(): Promise>; /** * Set notification settings */ setNotificationSettings(settings: { email?: { enabled: boolean; server?: string; port?: number; username?: string; password?: string; recipients?: string[]; }; ftp?: { enabled: boolean; server?: string; port?: number; username?: string; password?: string; path?: string; }; http?: { enabled: boolean; url?: string; method?: 'GET' | 'POST'; }; }): Promise>; private parseEventRule; private parseEventLog; private parseConditions; private parseActions; } //# sourceMappingURL=events.d.ts.map