export interface HeartbeatEventData {
    duration?: number;
    propertyId?: string;
    timestamp?: string;
    [key: string]: any;
}
export interface ScheduleEventData {
    scheduleId: string;
    propertyId: string;
    deviceId?: string;
    startTime: string;
    endTime: string;
    action: string;
    [key: string]: any;
}
export interface ServiceEventData {
    serviceId: string;
    serviceName: string;
    status: string;
    timestamp: string;
    [key: string]: any;
}
export interface IInternalEvent {
    onHeartbeat(data: HeartbeatEventData): Promise<void>;
    onScheduleCreate(data: ScheduleEventData): Promise<void>;
    onScheduleUpdate(data: ScheduleEventData): Promise<void>;
    onScheduleDelete(data: ScheduleEventData): Promise<void>;
    onServiceDown(data: ServiceEventData): Promise<void>;
    onServiceSpecificEvent(eventType: string, data: any): Promise<void>;
}
