// SpookVooper API - modules/interfaces/Interfaces.ts // Written by Quinn Lane - https://quinnlane.dev/ import { CreditAmount, DistrictWealthType, PaymentEntity, SenatorDistrict } from '../types/Types' interface EntityUser { svid: string apikey: string getUser: () => Promise getUsername: () => Promise getBalance: () => Promise hasDiscordRole: (role: string) => Promise getDiscordRoles: () => Promise sendCredits: (amount: CreditAmount, to: PaymentEntity, reason: string) => Promise getStockOffers: (ticker: string) => Promise buyStock: (ticker: string, amount: number, price: CreditAmount) => Promise sellStock: (ticker: string, amount: number, price: CreditAmount) => Promise } interface EntityGroup { svid: string } interface EntityDistrict { name: string getWealth: (type: DistrictWealthType) => Promise getSenator: (district: SenatorDistrict) => Promise } /* Class Constructor Configuration */ interface ConfigUser { svid: string apikey?: string } interface ConfigAuth { clientid: string clientsecret: string } /* Returned values from SVAPI */ interface ReturnedUser { userName: string twitch_id: string | null discord_id: number | null post_likes: number comment_likes: number nationstate: string | null description: string | null api_use_count: number minecraft_id: string | null twitch_last_message_minute: number twitch_message_xp: number twitch_messages: number discord_commends: number discord_commends_sent: number discord_last_commend_hour: number discord_last_commend_message: number discord_message_xp: number discord_message_count: number discord_last_message_minute: number discord_warning_count: number discord_ban_count: number discord_kick_count: number discord_game_xp: number district: string | null id: string name: string credits: number image_Url: string | null } interface ReturnedTransaction { FromAccount: string ToAccount: string Amount: number Detail: string Force: boolean IsCompleted: boolean Tax: number Result: { Info: string Succeeded: boolean } } export { // API Entities EntityUser, EntityGroup, EntityDistrict, // Class Config Interfaces ConfigUser, ConfigAuth, // API Return Values ReturnedUser, ReturnedTransaction }