UNPKG

wpilib-riolog

Version:
69 lines (68 loc) 2.83 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import { IErrorMessage, IPrintMessage } from './message'; export declare enum SendTypes { Batch = 0, ConnectionChanged = 1, PauseUpdate = 2, New = 3 } export interface IIPCSendMessage { type: SendTypes; message: IPrintMessage | IErrorMessage | Array<IPrintMessage | IErrorMessage> | boolean | number; } export declare enum ReceiveTypes { Discard = 0, Pause = 1, Save = 2, Reconnect = 3, ChangeNumber = 4 } export interface IIPCReceiveMessage { type: ReceiveTypes; message: boolean | string[] | number; } export interface IWindowProvider { createWindowView(): IWindowView; } export interface IDisposable { dispose(): any; } export interface IWindowView extends EventEmitter, IDisposable { postMessage(message: IIPCSendMessage): Promise<boolean>; handleSave(saveData: Array<IPrintMessage | IErrorMessage>): Promise<boolean>; addListener(event: string, listener: Function): this; addListener(event: 'didReceiveMessage', listener: (message: IIPCReceiveMessage) => void): this; addListener(event: 'didDispose', listener: () => void): this; addListener(event: 'windowActive', listener: () => void): this; on(event: string, listener: Function): this; on(event: 'didReceiveMessage', listener: (message: IIPCReceiveMessage) => void): this; on(event: 'didDispose', listener: () => void): this; on(event: 'windowActive', listener: () => void): this; emit(event: string | symbol, ...args: any[]): boolean; emit(event: 'didReceiveMessage', message: IIPCReceiveMessage): boolean; emit(event: 'didDispose'): boolean; emit(event: 'windowActive'): boolean; } export interface IRioConsole extends EventEmitter, IDisposable { connected: boolean; discard: boolean; stop(): void; startListening(): void; setAutoReconnect(autoReconnect: boolean): void; getAutoReconnect(): boolean; setTeamNumber(teamNumber: number): void; addListener(event: string, listener: Function): this; addListener(event: 'message', listener: (message: IIPCSendMessage) => void): this; addListener(event: 'connectionChanged', listener: (connected: boolean) => void): this; on(event: string, listener: Function): this; on(event: 'message', listener: (message: IIPCSendMessage) => void): this; on(event: 'connectionChanged', listener: (connected: boolean) => void): this; emit(event: string | symbol, ...args: any[]): boolean; emit(event: 'message', message: IPrintMessage | IErrorMessage): boolean; emit(event: 'connectionChanged', connected: boolean): boolean; disconnect(): void; } export interface IRioConsoleProvider { getRioConsole(): IRioConsole; }