import { Client } from '@src/core' ; import { BroadcastEvalOptions } from '@src/sharding/interfaces/ipc/BroadcastEvalOptions' ; import { BroadcastOptions } from '@src/sharding/interfaces/ipc/BroadcastOptions' ; /** Sharding application that contains useful info/methods */ export interface ClientShardingApplication { /** Client to which this application is attached */ client : Client ; /** IDs of Discord shards that this client serves. Before client.start() was called, is shards from gateway options, or [ 0 ]. */ shards : number [ ] ; /**
     * The number of Discord shards that this client has,
     * regardless of the number of sharding instances or whether inter-machines sharding is used.
     * Before client.start() was called, is totalShards from gateway options, or 1.
     * */ totalShards : number ; /** ID of the ShardingInstance that serves this client. Before client.start() was called, is 0. */ instance : number ; /** Whether sharding used or not */ active : boolean ; /** Send message to specified/all sharding instances. This message will be emitted with 'ipcMessage' event in the client. */ send ( message , options ? ) : unknown ; example eval < R = any , C = Record < any , any > > ( script , options ? ) : Promise < R [ ] > ; }