import { LoggerMasterOptions, LoggerClientOptions } from '@navy.gif/logger'; import { ServerOptions } from './Server.js'; import { DatabaseOptions, DiscordOptions } from './Other.js'; import { BrokerOptions } from '@navy.gif/wrappers'; type Env = { [key: string]: string } export type ShardOptions = { path: string, args?: string[], execArgv?: string[], env?: Env, respawn?: boolean, serverOptions?: ServerOptions } export type ControllerOptions = { projectName: string logger?: LoggerMasterOptions & LoggerClientOptions, serverFilePath: string, shardCount?: number, shardOptions: ShardOptions, serverOptions: ServerOptions, discord: DiscordOptions, databases: DatabaseOptions, env: Env, srcDir: string, rabbitConfig: BrokerOptions }