import type { GatewayVoiceServerUpdateDispatchData , GatewayVoiceStateUpdateDispatchData } from 'discord-api-types/v9' ; /**
 * Methods that are provided by the @discordjs/voice library to implementations of
 * Discord gateway DiscordGatewayAdapters.
 */ export interface DiscordGatewayAdapterLibraryMethods { param data onVoiceServerUpdate ( data ) : void ; param data onVoiceStateUpdate ( data ) : void ; /**
     * Call this when the adapter can no longer be used (e.g. due to a disconnect from the main gateway)
     */ destroy ( ) : void ; } /**
 * Methods that are provided by the implementer of a Discord gateway DiscordGatewayAdapter.
 */ export interface DiscordGatewayAdapterImplementerMethods { param payload returns sendPayload ( payload ) : boolean ; /**
     * This will be called by @discordjs/voice when the adapter can safely be destroyed as it will no
     * longer be used.
     */ destroy ( ) : void ; } /**
 * A function used to build adapters. It accepts a methods parameter that contains functions that
 * can be called by the implementer when new data is received on its gateway connection. In return,
 * the implementer will return some methods that the library can call - e.g. to send messages on
 * the gateway, or to signal that the adapter can be removed.
 */ export type DiscordGatewayAdapterCreator = ( methods : DiscordGatewayAdapterLibraryMethods ) => DiscordGatewayAdapterImplementerMethods ;