react-ts5-remote-app-api
Version:
React hook/api for the TeamSpeak5 remote app feature
34 lines (33 loc) • 1.65 kB
TypeScript
/// <reference types="react" />
import { ILogger } from "../..//utils/logger";
import { IConnection, IChannel, IClient, ITS5DataHandler } from "../../interfaces/teamspeak";
/**
* Handles data received from TS5 client (list of connections, channels and clients)
* Updates the states of App.tsx
*/
export declare class TS5DataHandler implements ITS5DataHandler {
localConnections: IConnection[];
localChannels: IChannel[];
localClients: IClient[];
setConnections: React.Dispatch<React.SetStateAction<IConnection[]>>;
setChannels: React.Dispatch<React.SetStateAction<IChannel[]>>;
setClients: React.Dispatch<React.SetStateAction<IClient[]>>;
logger: ILogger;
constructor(setConnections: React.Dispatch<React.SetStateAction<IConnection[]>>, setChannels: React.Dispatch<React.SetStateAction<IChannel[]>>, setClients: React.Dispatch<React.SetStateAction<IClient[]>>, logger: ILogger);
private updateConnectionsState;
private updateChannelsState;
private updateClientsState;
clearAll(): void;
addConnection(connection: IConnection): void;
addChannel(channel: IChannel): void;
addClient(client: IClient): void;
updateConnection(connection: IConnection): void;
updateChannel(channel: IChannel): void;
updateClient(client: IClient): void;
removeConnection(connection: IConnection): void;
removeChannel(channel: IChannel): void;
removeClient(client: IClient): void;
getConnectionById(id: number): IConnection | undefined;
getChannelById(id: number, connectionId: number): IChannel | undefined;
getClientById(id: number, connectionId: number): IClient | undefined;
}