import { TeamSpeak, TeamSpeakClient, TextMessageEvent } from "ts3-nodejs-library"; import { Commander } from "Commander"; /** * the commander text message event which extends the default teamspeak chat event */ export interface CommanderTextMessage extends TextMessageEvent { args: Record; teamspeak: TeamSpeak; reply: (msg: TranslationString) => Promise; } /** * the basic translation props every translation callback gets */ export interface BaseTranslationProps { commander: Commander; client: TeamSpeakClient; teamspeak: TeamSpeak; } /** * a base function to retrieve string data internally */ export interface TranslationStringGetter { (data: TranslationString, args: T): string; (data: TranslationString, args?: never): string; } /** * this is being used as interface in order to get custom string for specific clients * for example to use in translations for specific clients */ export declare type TranslationString = string | ((event: T & BaseTranslationProps) => string);