/** * Event System * Event types for internal communication within packages */ export interface JetStartEvent { type: string; payload: T; timestamp: number; } /** * CLI Events */ export type CLIEvent = { type: 'cli:command:start'; payload: { command: string; args: string[]; }; } | { type: 'cli:command:complete'; payload: { command: string; success: boolean; }; } | { type: 'cli:command:error'; payload: { command: string; error: string; }; }; /** * Core Events */ export type CoreEvent = { type: 'core:server:start'; payload: { port: number; }; } | { type: 'core:server:stop'; payload: {}; } | { type: 'core:session:created'; payload: { sessionId: string; }; } | { type: 'core:session:ended'; payload: { sessionId: string; }; } | { type: 'core:build:queued'; payload: { sessionId: string; }; } | { type: 'core:build:started'; payload: { sessionId: string; }; } | { type: 'core:build:completed'; payload: { sessionId: string; duration: number; }; } | { type: 'core:build:failed'; payload: { sessionId: string; error: string; }; }; /** * Client Events */ export type ClientEvent = { type: 'client:connected'; payload: { sessionId: string; }; } | { type: 'client:disconnected'; payload: { sessionId: string; }; } | { type: 'client:apk:downloaded'; payload: { apkPath: string; size: number; }; } | { type: 'client:apk:installed'; payload: { packageName: string; }; } | { type: 'client:app:launched'; payload: { packageName: string; }; }; /** * Event emitter interface */ export interface EventEmitter { on(event: string, handler: (data: any) => void): void; off(event: string, handler: (data: any) => void): void; emit(event: string, data: any): void; } //# sourceMappingURL=events.d.ts.map