import { BaseEvent, Event, EventHandler, SubscriptionOptions } from '../services/event-subscriber'; import { Endpoints } from './information'; export interface EventSubscription, U> { eventClass: new (args: U) => T; handler: EventHandler; options?: SubscriptionOptions; } export declare namespace Events { namespace Arguments { interface LoggerTypeChanged { type: 'short' | 'long' | 'json'; } interface LoggerLevelChanged { category: string; level: 'debug' | 'info' | 'notice' | 'warning' | 'error' | 'crit'; } interface SystemNodeStarted { name: string; island: string; } interface SystemDiagnosis { args: string[]; fileName: string; } interface SystemHealthCheck { } interface SystemInfo { name: string; version: string; checksum: string; } interface SystemEndpointInfo { name: string; version: string; checksum: string; endpoints: Endpoints; } interface SystemEndpointCheck { name: string; } interface SystemEndpointConflict { infos: { name: string; endpoint: string; }[]; } } class LoggerLevelChanged extends BaseEvent { constructor(args: Arguments.LoggerLevelChanged); } class LoggerTypeChanged extends BaseEvent { constructor(args: Arguments.LoggerTypeChanged); } class SystemNodeStarted extends BaseEvent { constructor(args: Arguments.SystemNodeStarted); } class SystemDiagnosis extends BaseEvent { constructor(args: Arguments.SystemDiagnosis); } class SystemHealthCheck extends BaseEvent { constructor(args: Arguments.SystemHealthCheck); } class SystemInfo extends BaseEvent { constructor(args: Arguments.SystemInfo); } class SystemEndpointInfo extends BaseEvent { constructor(args: Arguments.SystemEndpointInfo); } class SystemEndpointCheck extends BaseEvent { constructor(args: Arguments.SystemEndpointCheck); } class SystemEndpointConflict extends BaseEvent { constructor(args: Arguments.SystemEndpointConflict); } } export declare const DEFAULT_SUBSCRIPTIONS: EventSubscription, any>[];